我有1000个数据文件 -
F1.dat, F2.dat, ....., F1000.dat
F1.dat F2.dat F3.dat F4.dat
2 3 3 3 4 3 3 4 4 2 3 4
3 4 5 2 6 3 4 5 3 4 5 6
5 6 3 2 1 4 2 3 4 0 9 3
2 3 3 1 0 9 1 1 4 3 4 3
....... ...... ........ .......
我想计算这1000个文件中每个相应条目的最大值。
我的意思是我的新文件的第一个条目(比方说,a11)将是
new file[a11] = Max(F1[a11], F2[a11], ..., F1000[a11])
同样所有其他条目。对于上面的示例,输出类似于 -
newfile.dat
3 4 4 (i.e. max of 2 3 3 2, max of 3 4 4 3, max 3 3 4 4)
4 6 6
5 9 4
3 4 9
..........
我想不出怎么办?
答案 0 :(得分:4)
您可以使用awk
FNR
awk '{
for (i=1; i<=NF; i++) {
if ($i > a[FNR,i])
a[FNR,i]=$i
}
rows=FNR;
cols=NF
}
END {
for (i=1; i<=rows; i++) {
for (j=1; j<=cols; j++)
printf "%s ", a[i,j];
print ""
}
}' F*.dat
3 4 4
4 6 6
5 9 4
3 4 9