按列sorting唯一 – sorting命令?

我有这个文件:

hello 1 hello 2 world 1 world 2 hello 3 hi 3 hi 4 

我想这样sorting

 hello 1 hi 3 world 1 

事情是我只需要在第1列的第一个独特的项目。

我尝试sort -k1 -u file.txt但它不工作,如我所料。 我如何去做这件事?

这可能适合你:

 sort -uk1,1 file 

这只对第一个字段上的文件进行排序,并删除基于第一个字段的重复行。

根据第1列分类并给出唯一列表

sort -u -t:-k 1,1 test.txt

-t:=冒号是分隔符

-k 1,1 =基于第1列

根据第1列和第3列分类并给出唯一列表

sort -u -t:-k 1,1 -k 3,3 test.txt

-t:=冒号是分隔符

-k 1,1 3,3 =基于第1列和第3列

你可以把它管到awk:

 sort -k1 file | awk '!($1 in a){a[$1]; print}' hello 1 hi 3 world 1