操作n个不同的文件并将其最大值打印到一个新文件

我有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