$0 arg
arg で指定される数を出力する。
-C により、指定された列のみを取り出す、gawkのコマンド文を生成する。
.. で範囲を指定できるし、9..1のように降順指定もできるが、この場合整数のみ扱う。
オプション:
-, char : 数を出力するときに、区切り文字を改行文字から変更する。
例: -, \t でタブ文字を指定。
-,, コンマ文字を指定。
-, '' 区切り文字は0文字、つまり、何もはさまないで数を並べて出力。(-, と '' の間は必ず空白を入れる。)
-C : gawkのコマンド文を出力する。どの列を出力するかは、argにより指定される。
-S : 指定された各列の列和を求めるgawkのコマンド文を出力する。
-c 'str' : gawk文のコマンド文に 条件節を追加する。-Cまたは-Sと共に用いる。
--help : この $0 のヘルプメッセージを出す。 perldoc -t $0 | cat でもほぼ同じ。
--help opt : オプションのみのヘルプを出す。opt以外でも options と先頭が1文字以上一致すれば良い。
使用例1 (単に数のリストを出力する場合)
$0 5..10 # -> 5から10までの数を改行区切りで出力。
$0 5,3 2,1 # -> 5,3,2,1を改行区切りで出力。空白区切りもコンマ区切りも同じ区切りと見なす。
$0 10..5 -3 # -> 10,9,8,7,6,5 と -3 を出力。
使用例2 (gawkコマンド文を出力する場合)
`$0 -C 5..10, 1 ` file
# バッククォーテーションで囲まれている部分が、gawk のコマンドに置き換わる。
# この場合は、gawk -F\t -vOFS=\t {print$5,$6,$7,$8,$9,$10,$1} となる。
`$0 -c'$1==10' -C 1..3 `
$( $0 -c '$1==10' -C 1..3 )
# 1列目が値10であるときのみ、1列目から3列目を出力する。
# 条件節を表す文字列は必ず ''で囲うこと。シェルが$1などを解釈してしまうため
# 条件節に || や && を使うときは、前後に空白を入れないこと。
使用例3 (列を選択して、その各列の和を求めるためのgawkコマンド文を生成)
`$0 -S 3 ` # 3番目の列の和を求める
注意点:
引数に与えられた数は整数として扱われやすい。Perlの .. 演算子を使っているため。