Bashで積分を計算しようとしています。
以下を含む「data.log」ファイルがあります。
x1 y1
x2 y2
x3 y3
...
xn yn
awkを使用してこのファイルを作成しました。今私はそれを操作して次のものを取得したいと思います。
x2 x1 y2
x3 x2 y3
x4 x3 y4
...
xn xn-1 yn
私は以前試しました:
awk 'var=$1; print var; prev=var;' data.log
しかし、それはうまくいきませんでした。私を助けてくれますか?ありがとう
答え1
最初の行の後には、すべての行の最初のフィールドを記憶しながら、現在の値と前の値を印刷します。
awk 'NR > 1 { print $1, prev, $2 } { prev = $1 }'
これは生産します
$ for i in {1..4}; do printf "x%d y%d\n" $i $i; done | awk 'NR > 1 { print $1, prev, $2 } { prev = $1 }'
x2 x1 y2
x3 x2 y3
x4 x3 y4