列の項目を1項目の列で分割する

列の項目を1項目の列で分割する

列の要素を別の列の 1 要素項目で繰り返し除算するにはどうすればよいですか?

例: 入力:

2     2
2.2
4
44

期待される出力:

1
1.1
2
22

標準の除算はawk '{print $1/$2}' Input > Output機能しません(存在しないすべての$2要素を反復処理するため)

答え1

除数を取得するには、2 列目の 1 行目のみの値を考慮する必要があります。FNRこれに使用できます。awk では、FNR現在のファイル内のレコード番号 (実際には行番号) を参照します。2 列目の 1 行目を読み取って除数を格納し、格納された値で 1 列目の要素を割ります。

awk 'FNR==1 {d=$2} {print $1/d}' Input > Output

関連情報