Awk从列中减去值
我需要你的帮助。我想从第二列的第一行减去第二列的值(20-15、40-35、45-45等等) 输入文件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}如果我们在第一条记录(行)中
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
输出