6

我有两个相同长度的文件,例如:

0.99952 0.01
0.98927 0.02
0.98242 0.03

-0.758 0.01
-0.745 0.02
-0.742 0.03

我想对第一列编号求和,并将其打印在一个新文件中,第二列旁边有相同的元素。输出应该是:

0.24152 0.01
0,24427 0.02
0,24042 0.03

我试过了

 paste file1 file2 | awk '{print ($1 + $2), $4}' > sum

但输出是:

 1.00952 0.01
 1.00927 0.02
 1.01242 0.03
4

2 回答 2

7

您在 awk 中采用了无效的参数号($2 而不是 $3)

$1      $2      $3     $4
0.99952 0.01    -0.758 0.01
0.98927 0.02    -0.745 0.02
0.98242 0.03    -0.742 0.03

有一个工作示例:

paste data1 data2 | awk '{print ($1 + $3), $4}'
于 2013-04-13T09:32:52.313 回答
7

单一awk方法:

$ awk 'NR==FNR{a[NR]=$1;next}{print $1+a[FNR],$2}' file1 file2
0.24152 0.01
0.24427 0.02
0.24042 0.03
于 2013-04-13T10:59:04.063 回答