我有两个这样的文件:
文件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