如何使用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
是一组数字之间的行数。
如何使用 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
是一组数字之间的行数。