Matrix 使用awk等对多个文件进行矩阵相加

Matrix 使用awk等对多个文件进行矩阵相加,matrix,awk,Matrix,Awk,我有一堆来自模拟输出的文件,所有文件的行数和字段数都相同。 我需要做的是将它们组合起来,这样我只得到一个文件,其中的数字相加,这基本上类似于几个矩阵的相加 例如: File1.txt 1 1 1 1 1 1 1 1 1 File2.txt 2 2 2 2 2 2 2 2 2 File3.txt 3 3 3 3 3 3 3 3 3 所需输出 6 6 6 6 6 6 6 6 6 我将把它集成到一些更大的Shell脚本中,因此我更喜欢awk中的解决方案,尽管也欢迎使用其他语言。awk'{f

我有一堆来自模拟输出的文件,所有文件的行数和字段数都相同。 我需要做的是将它们组合起来,这样我只得到一个文件,其中的数字相加,这基本上类似于几个矩阵的相加

例如:

File1.txt

1 1 1
1 1 1
1 1 1
File2.txt

2 2 2
2 2 2
2 2 2
File3.txt

3 3 3
3 3 3 
3 3 3 
所需输出

6 6 6
6 6 6
6 6 6
我将把它集成到一些更大的Shell脚本中,因此我更喜欢awk中的解决方案,尽管也欢迎使用其他语言。

awk'{for(I=1;IQuick hack:

awk '{for(i=1;i<=NF;i++)a[FNR,i]=$i+a[FNR,i]}
END{for(i=1;i<=FNR;i++)
      for(j=1;j<=NF;j++)printf "%s%s", a[i,j],(j==NF?"\n":FS)}' f1 f2 f3
paste f1 f2 f3 | awk '{for(i=1;i<=m;i++)printf "%d%s",$i+$(i+m)+$(i+2*m),i==m?ORS:OFS}' m=3

粘贴f1 f2 f3 | awk'{for(i=1;iHell,这很快!工作非常完美,非常感谢。
paste f1 f2 f3 | awk '{for(i=1;i<=m;i++)printf "%d%s",$i+$(i+m)+$(i+2*m),i==m?ORS:OFS}' m=3