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

时间:2015-03-29 17:00:14

标签: awk gawk

如何使用AWK计算不同行上的某些字段,其格式如下所示?

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

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

1 2
3 4
5 6
7 8
..

=>

1+4
3+6
5+8
..

2 个答案:

答案 0 :(得分:2)

这应该做:

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

答案 1 :(得分:2)

特别针对一个案例,

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

一般情况可以通过

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

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