在此,如果第二个值相同,则认为两行是多余的。
是否有任何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/