如果第一列中的值匹配,则从两个连续行计算值

时间:2014-05-09 11:12:32

标签: awk

我有一个包含两个字段的文本文件,当第一列中存在匹配项时,我想在第二列的行之间进行减法。

在下面的例子中,当(记录2字段1)==(记录1字段1)然后我将计算(记录2字段2) - (记录1字段2)并打印结果。当(记录2字段1)!=(记录1字段1)我什么都不打印。

然后我会将记录号增加1并重复,即将记录3与记录2进行比较。

输入

A001 100
A001 200
A001 201
B003 30
B007 700
C001 500
C001 700

预期输出

100
1
200

1 个答案:

答案 0 :(得分:2)

awk '$1 == prev1 {print $2 - prev2} {prev1=$1; prev2=$2}' file