如何通过删除第一个字段中的多个条目来排序行,但使用sort和awk命令保持条目具有最高值

时间:2015-04-19 07:47:30

标签: sorting awk

我有一个包含两列的文件,其中第一个字段有多个相同的条目,每个条目都有一个相应的值。

hi           3 
hello        4 
who          3 
hello        6 
hi           7 
who          9 

现在,我想对输入文件中保存最高对应值的行进行排序,从而产生唯一条目(第一个字段)。它应该是这样的。

hi    7 
hello 6 
who   9 

如何使用sort和awk完成任务?请帮忙。

1 个答案:

答案 0 :(得分:1)

我希望这就是你要找的东西

awk '$2>array[$1]{array[$1]=$2} END{for (i in array) print i, array[i]}'

<强>测试

$  cat input
hi 3
hello 4
who 3
hello 6
hi 7
who 9 

$ awk '$2>array[$1]{array[$1]=$2} END{for (i in array) print i, array[i]}' input
hello 6
hi 7
who 9