awkにも、引数を取得するARGV系変数があります。
引数の総数を見るARGCという便利変数もついてるので、やりようによっては色々応用が効く可能性があります。
実際のところ
引数で変数A、Bを定義し、awkスクリプト内で参照するようなスクリプトの場合、
もっとも頭を使わない実装なら以下のようにします。
$ gawk 'END{ print "ARGC:"ARGC, "("ARGV[0], ARGV[1], ARGV[2]")"}' A=3 B=4 /dev/null ARGC:4 (gawk A=3 B=4)
for制御文を使うと、もう少しスマートになります。
二個程度だと逆に長くなりますけどね
BEGIN { print "ARGC:"ARGC, "(" for (i = 0; i < ARGC; i++) print ARGV[i] print ")"}
参考もと
- effective awk