我正在尝试根据多个列找到唯一的行,但我的代码似乎不起作用。或者至少它设法删除了几乎所有重复。
1 A
2 B
3 C
1 A
2 A
3 B
2 A
3 C
1 C
1 A
2 A
3 B
这是我试过的代码
sort -k1 -k2 TEST.txt | awk -F"\t" '!seen[$1, $2]++'
预期产出:
1 A
1 C
2 A
2 B
3 B
3 C
但输出我得到了:
1 A
1 C
2 A
2 B
3 B
3 B
3 C
我的输出中仍然有3 B
的副本。有人可以帮忙吗?我的代码有问题吗?
答案 0 :(得分:0)
您可以使用sort -u
进行排序并获得唯一结果:
sort -u file
1 A
1 C
2 A
2 B
3 B
3 C
使用awk
即可:
awk '!seen[$1,$2]++' file | sort