我有一个包含一列数字的文件:
1
2
4
4
10
我想用 awk 计算每个数字之间的差值。输出应该是这样的:
1
2
0
6
我该怎么做?
最佳答案
试试下面的代码:
awk '
NR == 1{old = $1; next} # if 1st line
{print $1 - old; old = $1} # else...
' file.txt
1
2
0
6
解释
- NR 是当前记录从输入开始的序号。在 BEGIN Action 中,该值应为零。在 END 操作中,该值应为最后处理的记录的编号。
- next 语句将导致放弃对当前输入记录的所有进一步处理。如果在 BEGIN 或 END 中出现或调用下一条语句,则行为未定义 行动。
关于linux - 使用 AWK 同一列中的数字之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17476879/