对不同文件中的两列求和

对不同文件中的两列求和

我有两个这样的文件:

文件1:

-54.005 -67.405 0.1

-54.05 -68.7833 0.2

-54.05 -68.7333 0.3

文件2:

-54.005 -67.4050 70 12.7

 -54.05 -68.7833 167 12.5

 -54.05 -68.7333 205 12.6

我想要一个将第 3 列file1与第 4 列相加的文件file2,输出如下:

-54.005 -67.4050 70 12.8

 -54.05 -68.7833 167 12.7

 -54.05 -68.7333 205 12.9

我尝试使用以下命令:

cat file1 | awk '{n=$3; getline <"file2"; print "" $1,$2,$3,n+$4}' > output.txt

但它没有成功,我在这个网站上找不到这种类型的答案。

答案1

有一个工具可以将两个文件合并为一个:将文本文件合并为一个

paste file1 file2 | awk '{ print $3 + $13; }'

添加其他列,但请注意文件 2 中的列以 $10 开头。

答案2

您可以在 awk 中使用 NR 和 FNR。

awk 'FNR==NR { _a[FNR]=$3;} NR!=FNR { $4 += _a[FNR]; print;  }'  file1 file2

相关内容