項目列を項目列に分割する

項目列を項目列に分割する

ある列の要素を別の列の単一要素項目に繰り返し分割する方法は?

たとえば、次のように入力します。

2     2
2.2
4
44

予想出力:

1
1.1
2
22

標準分割はawk '{print $1/$2}' Input > Output機能しません(存在しないすべての$2要素を繰り返すため)。

答え1

除数を取得するには、2番目の列の最初の行の値を考慮するだけです。FNRこの目的に使用できます。 awkはFNR現在のファイルのレコード番号(実際には行番号)を表します。 2番目の列の最初の行を読み取り、最初の列の要素を格納された値で除算して除数を保存します。

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

関連情報