我有一个这样的文件-

1 2 3
1 4 5
a z 3
a 3 4
a f g
b b g

我想把它分成多个文件(有多个组就有多个),每个文件都包含那些具有相同第一个字段的行。
 1 2 3
 1 4 5

 a z 3
 a 3 4
 a f g

 b b g

我该怎么做?我尝试过uniq --all-repeated=separate -w 32,但它考虑的是完整的行,而不仅仅是找到重复项时的第一列。

最佳答案

像这样的:

$ awk '{print > $1}' input

$ cat 1
1 2 3
1 4 5

$ cat a
a z 3
a 3 4
a f g

$ cat b
b b g

关于bash - 如何提取具有公共(public)字段的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19188929/

10-14 14:28
查看更多