我有以下数据(实际上有~1M行)
foo qux 0 x,y
bar twe 1 a,b,c
foo qux 2 x,y,z
我想要做的是按第一个字段对它进行排序,当有一个平局时,选择一个具有最高值的第三个字段。产量:
bar twe 1 a,b,c
foo qux 2 x,y,z
但是为什么这段代码不起作用?
sort -k1,1 -k2,2 -k3,3nr datafile.txt |
awk '$3 != x {print} {x = $3}'
# The last awk line attempts to pick top from tie
正确的方法是什么?