私は次のデータを持っています(実際には〜1M行があります)
foo qux 0 x,y
bar twe 1 a,b,c
foo qux 2 x,y,z
私がやりたいのは、最初のフィールドで並べ替え、同点の場合は 3 番目のフィールドの値が最も高いものを選択することです。収量:
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
それを行う正しい方法は何ですか?