让我们假设有一个看起来像这样的文件:

xxxx aa whatever
yyyy bb whatever
zzzz aa whatever

我想把它分成 2 个文件,包含:

第一的:
xxxx aa whatever
zzzz aa whatever

第二:
yyyy bb whatever

IE。我想根据行中的某个值对行进行分组(规则可以是:用空格分隔的第二个单词),但不要对组内的行重新排序。

当然我可以写一个程序来做到这一点,但我想知道是否有任何现成的工具可以做这样的事情?

抱歉,我没有提到它,因为我认为这很明显 - 不同“单词”的数量很大。我们正在谈论其中至少 10000 个。 IE。任何基于枚举之前的单词的解决方案都行不通。

而且 - 我真的不喜欢多 channel 拆分 - 有问题的文件通常非常大。

最佳答案

这将创建名为 output.aaoutput.bb 等的文件:

awk '{print >> "output." $2}' input.file

关于bash - 根据内容将输入拆分为多个输出?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4217399/

10-13 04:29