我正在寻找一个 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