查找文件集AWK / bash中的最大/最小值

时间:2015-11-05 08:31:24

标签: bash awk

我有大约1000个数据文件,格式为file_1000.txt,file_1100.txt等。

此文件中的每一个都包含2列和2k行以上的数据(这是一个示例):

1.270000e-01 1.003580e+00
6.270000e-01 1.003582e+00
1.126000e+00 1.003582e+00
1.626000e+00 1.003584e+00
2.125000e+00 1.003584e+00
2.625000e+00 1.003586e+00
...

我想在第二列的每个数据文件中找到最大值并将这些数字存储在任何地方(特别是,在gnuplot中绘图)。我试着使用脚本:

cat file_1*00.txt | awk '{if ($2 > max) max=$2}END{print max}'

但它会搜索所有带有file_1 * 00.txt条件的文件,并只输出1个数字 - 所有这些文件中的最大值。

如何更改脚本以输出我在scrypt中提到的所有文件的最大值?

谢谢!

1 个答案:

答案 0 :(得分:2)

awk '{if(a[FILENAME]<$2)a[FILENAME]=$2}END{for(i in a)print i,a[i]}' file_1*00.txt 

每个文件最大?