AWK の約束ごとと基本的使い方

AWK の約束ごと

多くのプログラム言語と同様に、 AWK にもいくつかの約束ごとがあります。 これを知らないと AWK が使えないので、 ここでまとめておきましょう。

基本的使い方

AWK を使うには、2通りの方法があります。

●コマンドラインから使う

例として、
----------------------------------
#時間   時系列
1       0.12
2       0.42
3       0.53
.....
----------------------------------
なるデータファイル(名前は time.dat)を取り上げます。 なお、---- は見やすくするために書いたもので、 ファイルには存在しないとしておきます。 このデータファイルに対して、awk を噛ました例を 出力と共に示します。
----------------------------------
例1:
----------------------------------
prompt> awk '{print $1}' time.dat 
#時間
1
2
3
...
prompt> 
----------------------------------
例2:
----------------------------------
prompt> awk '{print $2}' time.dat
時系列
0.12
0.42
0.53
...
prompt> 
----------------------------------
例3:
----------------------------------
prompt> awk '$0!~/#/{print $1*$2}' time.dat
0.12
0.84
1.59
.....
prompt> 
註:$0!~/#/ は、行の中に # という記号がなかったら
以下を実行しなさい、と言う意味
----------------------------------
例4:
----------------------------------
prompt> awk '{print $0}' time.dat
#時間   時系列
1       0.12
2       0.42
3       0.53
.....
prompt> 
----------------------------------
例5:
----------------------------------
prompt> awk '{print NF}' time.dat
2
2
2
...
prompt> 
註:NF は列の数を示しており、いま列の数は等しく2列だから
----------------------------------

●AWK Script ファイルにして呼び出して使う

先の例1の場合には、
----------------------------------
{print $1}
----------------------------------
と書いたファイル(名前は print.awk としておく)を作ります。 そして、コマンドラインから
----------------------------------
 awk -f print.awk time.dat 
----------------------------------
と打ち込めばOKで先の例1と同じ出力が得られます。 -f は AWK Script のファイルを指定するオプションです。