假设我在bash中有此文件:

1 3 6 name1
1 2 7 name2
3 4 2 name1
2 2 2 name3
7 8 2 name2
1 2 9 name4

如何提取那些重复显示“名称”字段的行并将其排序?

我的预期输出将是:
1 3 6 name1
3 4 2 name1
1 2 7 name2
7 8 2 name2

我试图使用sort -k4,4 myfile | uniq -D,但是找不到如何告诉uniq与第4列一起使用。
谢谢!

最佳答案

你近了您需要跳过最后一个字段之前的字段。

$ sort -k4 file | uniq -f3 -D
1 3 6 name1
3 4 2 name1
1 2 7 name2
7 8 2 name2

关于awk - 如何仅获取bash中特定列的重复行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61273682/

10-10 01:22