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

10-13 09:24