我想对两行求和,直到文件末尾:
1 2 3 4
0 1 2 3
0 4 5 6
2 3 5 6
输出应该是
1 3 5 7
2 7 10 12
我尝试过以下方法,但它仅适用于第一行
awk '{s+=$1}NR%2==0{print s;s=0}' testfileForSum.txt
答案1
一种方法是awk
:
awk '
NR%2 { split($0, a) ; next }
{ for (i=1; i<=NF; i++) printf " %d", a[i]+$i ; print "" }
'
说明:对于偶数 ( NR%2
) 的行,它将在数组中记住当前行的字段a
。对于其他(奇数)行,将在字段上进行迭代,并打印相应的记忆字段a[i]
和当前字段的总和。$i