我有大约 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
只要文件数量适合一次调用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 个可供使用的数据文件。