1列の最大値をすべて出力しようとしています。
だから入力は次のようになります
John. Marketing. 5000.
Marcus. Manager. 9500.
Jason. SW 9500.
Cindy. Developer. 6000.
私が望む出力は
name: Marcus, sal: 9500.
name: Jason, sal: 9500
これまで私のコードは
BEGIN {a=0}
{
if ($3> a)
max=$3;
output=$1
}
END{
print "name: ", output, "sal:", max
}
ベストアンサー1
ファイルを2回解析する必要があります。まず、最大値を見つけてからその行を印刷する必要があります。たとえば(max
正数であると仮定):
解析.awk
NR == FNR && $3 > max { max = $3 }
NR != FNR && $3 == max
次のように実行します。
awk -f paste.awk infile{,}
{ print "name:", $1, "sal:", $3 }
フォーマットを変更するには、最後の行に追加してくださいparse.awk
。出力は次のとおりです。
name: Marcus. sal: 9500.
name: Jason. sal: 9500.