如何只保留unix中制表符分隔文件中唯一的行

这里,如果第二个值相同,则两行被认为是冗余的。 有没有什么可以实现以下的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万行:使用@Stevebuild议的解决scheme的时间: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 

sorting和独特是花费太多的时间。 等了5分钟后我辞职了。

也许这就是你要找的东西:

 awk -F "\t" '!a[$2]++' file 

结果:

 1 aa 1 ss 3 dd 

我明白,你想要一个独特的排序文件的第二个领域。 你需要添加-u来排序来实现这一点。

 sort -u -k2 /Users/fahim/Desktop/delnow2.csv