Awk从列中减去值

Awk从列中减去值,awk,calculated-columns,subtraction,Awk,Calculated Columns,Subtraction,我需要你的帮助。我想从第二列的第一行减去第二列的值(20-15、40-35、45-45等等) 输入文件 10 15 20 35 40 45 45 55 58 70 输出文件 5 5 0 3 5 5 0 3 多谢各位 您可以这样做: $ awk 'NR==1 {a=$2; next} {print $1 - a; a=$2}' file 5 5 0 3 解释 它跟踪第二个值并存储在变量a中 NR==1{a=$2;next}如果我们在第一条记录(行)中

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

输入文件

 10   15 
 20   35 
 40   45 
 45   55 
 58   70
输出文件

5
5
0
3
5
5
0
3
多谢各位

您可以这样做:

$ 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}
    从那时起,打印第一列和存储值之间的差值。然后,存储当前行的第二列,用于下一行
您可以这样做:

$ 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}
    从那时起,打印第一列和存储值之间的差值。然后,存储当前行的第二列,用于下一行
麻木猫

所以要采取行动

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

麻木猫

所以要采取行动

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