Awk从列中减去值

时间:2014-05-05 08:02:14

标签: awk calculated-columns subtraction

我在AWK中需要帮助。我想从第二列(20 - 15,40 - 35,45 - 45等)的第一行第一行中减去第二列的值。

输入文件

 10   15 
 20   35 
 40   45 
 45   55 
 58   70

输出文件

5
5
0
3

谢谢。

2 个答案:

答案 0 :(得分:3)

  猫麻木

10   15
20   35
40   45
45   55
58   70

所以要执行行动

awk 'p{print $1-p}{p=$2}' numb

输出

5
5
0
3

答案 1 :(得分:1)

你可以这样做:

$ awk 'NR==1 {a=$2; next} {print $1 - a; a=$2}' file
5
5
0
3

解释

它跟踪第二个值并存储在变量a中。

  • NR==1 {a=$2; next}如果我们在第一个记录(行)中,只需存储第二个列。
  • {print $1 - a; a=$2}从那一刻开始,打印第一列和存储值之间的差异。然后,存储当前行的第二列,用于以下行。