Column3の最大値を求め、Column1と2の値のみを出力

Column3の最大値を求め、Column1と2の値のみを出力

Unixでは、Column3の最大値を見つけて、Column2とColumn1の対応する値(ただしColumn3の値ではない)を新しいファイルに印刷するコマンドを見つけようとします。

 Column1     Column2     Column3
   A          1          25
   B          2          6
   C          3          2
   D          4          16
   E          5          10

Unixコマンドは何ですか? grep、awk、またはdatamashを使用する必要がありますか?

ベストアンサー1

awkデータがサンプルデータとまったく同じ形式であると仮定すると、次のように目的の出力が生成されます。

awk -v MAX=0 '{ if(NR>1 && $3>MAX){WANT1=$1; WANT2=$2; MAX=$3}} END{print WANT1, WANT2}' infile > outfile

おすすめ記事