awk > 引数を渡す方法

更新日 2012-05-13
広告
awkのプログラムに、引数を渡す方法を紹介します。
引数を渡すためには、-vオプションを使います。-vオプションのフォーマットは以下のようになります。
 -v 変数名=値
これで、awkプログラムから、指定した変数を利用できます。
では、以下のサンプルファイル sample.dat を使って試してみます。
1 10 100
2 20 200
3 30 300
各値に、引数で渡した変数(multi)を掛け算して、出力してみます。
$ awk -v multi=1 '{ print $1 * multi " " $2 * multi " " $3 * multi;}' sample.dat
1 10 100
2 20 200
3 30 300
$ awk -v multi=2 '{ print $1 * multi " " $2 * multi " " $3 * multi;}' sample.dat
2 20 200
4 40 400
6 60 600
$ awk -v multi=3 '{ print $1 * multi " " $2 * multi " " $3 * multi;}' sample.dat
3 30 300
6 60 600
9 90 900
複数の引数を渡したい場合は、「-v 変数名=値」を繰り返し指定すればよいです。
$ awk -v a=1 -v b=2 'BEGIN{ print a; print b; }'
1
2
こんな感じです。
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system