如何使用AWK计算交错字段?

How to use AWK to calculate interleaved fields?

如何使用 AWK 计算具有如下模式的不同行上的某些字段?

(column x, row m) + (column y, row (m+n))

这里有一个要计算的数据文件,例如,

1 2
3 4
5 6
7 8
..

=>

1+4
3+6
5+8
..

应该这样做:

awk 'NR>1 {print +a} {a=}' file
5
9
13

专门针对落后一人的情况,

awk 'NR > 1 { print saved +  } { saved =  }' filename

一般情况可以通过

解决
awk -v n="$offset" '{ saved[NR] =  } NR > n { print saved[NR - n] +  }' filename

其中 $offset 是一组数字之间的行数。