列項目の差の計算

列項目の差の計算

テキストファイルがあります。

1 100
2 80
3 70
4 64

これで、最初の列が上記と同じで、2番目の列が上記のファイルの連続値の差でなければならない別のファイルが必要です。つまり:

1 20
2 10
3 6

Unixコマンドを使用してこれを行う最もエレガントで簡単な方法は何ですか? 2番目のファイルを必要とせず、必要な違いがある元のファイルの3番目の列のみが必要な場合はどうなりますか?

ありがとうございます!

答え1

計算にawk適しています

awk 'NR!=1{print a,b-$2};{a=$1;b=$2}'

3番目の列に違いを追加するには、次を追加します。

awk 'NR!=1{print a,b,b-$2};{a=$1;b=$2}'

関連情報