awk
最後のデータポイントに基づいて、を使用して正規化するデータファイルがあります。そのため、私は最初に最後のデータポイントにアクセスし、データを正規化してから、正常に処理したいと考えています。
次の方法は、tac
2回使用するとうまくいきますが、おそらく必要以上に複雑です。
$ cat file
0 5
1 2
2 3
3 4
$ tac file | awk 'NR==1{norm=$2} {print $1, $2/norm}' | tac
0 1.25
1 0.5
2 0.75
3 1
私の質問は次のとおりです。awkのみを使用して上記の結果を取得することは可能ですか?
答えは「いいえ、awkはファイルを1行ずつスキャンします」と思いますが、代わりの方法を提案します。
$ awk --version GNU Awk 3.1.8
。2つの入力ファイルがどのように処理され、何next
が行われるかについて、非常に小さな説明を追加できますか?