我们假设有一个看起来像这样的文件:
xxxx aa whatever
yyyy bb whatever
zzzz aa whatever
Run Code Online (Sandbox Code Playgroud)
我想把它分成2个文件,包含:
第一:
xxxx aa whatever
zzzz aa whatever
Run Code Online (Sandbox Code Playgroud)
第二:
yyyy bb whatever
Run Code Online (Sandbox Code Playgroud)
即我想根据行中的某些值对行进行分组(规则可以是:第二个单词用空格分隔),但不要对组内的行重新排序.
当然我可以写一个程序来做它,但我想知道是否有任何现成的工具可以做这样的事情?
对不起,我没有提到它,因为我认为这很明显 - 不同"单词"的数量是巨大的.我们谈论的至少有10000个.即基于枚举单词的任何解决方案都不起作用.
而且 - 我不会真的喜欢多遍分割 - 有问题的文件通常都很大.
这将创建文件命名output.aa,output.bb等:
awk '{print >> "output." $2}' input.file
Run Code Online (Sandbox Code Playgroud)