Awk Вычесть значение из столбцов

Мне нужна помощь с этим в AWK. Я хотел бы вычесть значение второго столбца из первой строки из первой строки из второго столбца (20-15, 40-35, 45-45 и т.д.)

ВХОДНОЙ ФАЙЛ

 10   15 
 20   35 
 40   45 
 45   55 
 58   70

ВЫХОДНОЙ ФАЙЛ

5
5
0
3

Спасибо.


person Vonton    schedule 05.05.2014    source источник


Ответы (2)


кошка онемела

10   15
20   35
40   45
45   55
58   70

так чтобы выполнить действие

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

выход

5
5
0
3
person suhas    schedule 05.05.2014

Ты можешь сделать это:

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

Объяснение

Он отслеживает второе значение и сохраняет его в переменной a.

  • NR==1 {a=$2; next} если мы находимся в первой записи (строке), просто сохраните 2-й столбец.
  • {print $1 - a; a=$2} с этого момента выведите разницу между 1-м столбцом и сохраненным значением. Затем сохраните второй столбец текущей строки, который будет использоваться в следующей строке.
person fedorqui 'SO stop harming'    schedule 05.05.2014