我有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 (ie 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 ..........
我想不出怎么办?
你可以使用这个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