计算linux中列中每对数字的总和

计算linux中列中每对数字的总和

我正在寻找一个 Linux 命令,该命令将对第 3 列和第 4 列中的每两行求和。它也会丢弃偶数行。提前致谢。

输入:

1   10469   +   1   2
1   10470   -   1   0
1   10471   +   0   2
1   10472   -   4   0
1   10484   +   5   2
1   10485   -   0   4

输出:

1   10469   +   2   2
1   10471   +   4   2
1   10484   +   5   6

答案1

$ awk 'NR % 2 == 1 { a=$1 OFS $2 OFS $3; b=$4; c=$5 } NR % 2 == 0 { print a, b + $4, c + $5 }' input
1 10469 + 2 2
1 10471 + 4 2
1 10484 + 5 6

答案2

$ awk 'NR%2{split($0,p);next} {print p[1], p[2], p[3], p[4]+$4, p[5]+$5}' file
1 10469 + 2 2
1 10471 + 4 2
1 10484 + 5 6

相关内容