这里,如果第二个值相同,则两行被认为是多余的。 是否有任何 unix/linux 命令可以实现以下目标。
1 aa
2 aa
1 ss
3 dd
4 dd
结果
1 aa
1 ss
3 dd
我通常使用以下命令,但它并没有实现我在这里想要的。
sort -k2 /Users/fahim/Desktop/delnow2.csv | uniq
编辑:
我的文件大约有 2500 万行: 使用@Steve 建议的解决方案的时间:33 秒。
$date; awk -F '\t' '!a[$2]++' myfile.txt > outfile.txt; date
Wed Nov 27 18:00:16 EST 2013
Wed Nov 27 18:00:49 EST 2013
排序和唯一性花费了太多时间。等了5分钟我就退出了。
最佳答案
也许这就是您正在寻找的:
awk -F "\t" '!a[$2]++' file
结果:
1 aa
1 ss
3 dd
关于linux - 如何只保留在 unix 制表符分隔文件中唯一的那些行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20254433/