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