次の形式のファイルが約2000個あります。
ファイル:WHWH-19975612.txt
0.1 70 30
0.01 70 32
0.9 72 32
...
ファイルB:WHWH-20004526.txt
0.2 70 30
0.001 70 32
1.0 72 32
...
希望の出力
0.2 70 30 WHWH-20004526
0.01 70 32 WHWH-19975612
1.0 72 32 WHWH-20004526
...
これにより、より大きな値が存在するファイルを追跡できるため、追加の処理が必要になる場合があります。
答え1
ファイル数が1回の呼び出しに適している場合は、awk
次のことができます。
awk '{ if ($1 > maxvalues[$2" "$3]) {
maxvalues[$2" "$3]=$1;
maxfiles[$2" "$3]=FILENAME;
}
}
END {
for (i in maxvalues) printf "%-4s %5s %s\n", maxvalues[i], i, maxfiles[i]
}' \
*
サンプルデータを使用してテストファイルセットを作成した後、以下を実行しました。
for((i=20004527;i<20006526;i++))
do
cp WHWH-20004526.txt WHWH-${i}.txt
done
...利用可能な約2000個のデータファイルを生成します。