让我们假设有一个看起来像这样的文件:
xxxx aa whatever
yyyy bb whatever
zzzz aa whatever
我想把它分成 2 个文件,包含:
第一的:
xxxx aa whatever
zzzz aa whatever
第二:
yyyy bb whatever
IE。我想根据行中的某个值对行进行分组(规则可以是:用空格分隔的第二个单词),但不要对组内的行重新排序。
当然我可以写一个程序来做到这一点,但我想知道是否有任何现成的工具可以做这样的事情?
抱歉,我没有提到它,因为我认为这很明显 - 不同“单词”的数量很大。我们正在谈论其中至少 10000 个。 IE。任何基于枚举之前的单词的解决方案都行不通。
而且 - 我真的不喜欢多 channel 拆分 - 有问题的文件通常非常大。
最佳答案
这将创建名为 output.aa
、 output.bb
等的文件:
awk '{print >> "output." $2}' input.file
关于bash - 根据内容将输入拆分为多个输出?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4217399/