AWK の使用法     Last modified: Jan 27, 2016

I. Macintosh(Mac OS X)での使用法

  1. awk -f 解析プログラムファイル名 データファイル名
    結果は画面に出力される。
  2. awk -f 解析プログラムファイル名 データファイル名 > 結果の出力ファイル名
    結果はファイルに出力される。
  3. awk -f 解析プログラムファイル名
    入力データを必要としない場合。
  4. awk 'プログラム' データファイル名
    解析プログラムが短い場合には,プログラムをファイルとして用意しなくてもよい。
    例: awk '{sum += $1} END{print sum}' test.dat
  5. awk 'プログラム'
    入力データを必要としない場合。
    例: awk 'BEGIN{for (i = 1; i <= 10; i++) sum += i; print sum}'
  6. awk 'プログラム'
    入力データを必要とする場合。
    例: awk '/123/ {sum++} END {print sum}'
    プログラムが起動された後,入力はコンソール(キーボード)から読み込まれる。Control+d が押されると入力は終了する。それまでに入力された行の内,"123" を含む行の数を出力する。
  7. コマンド | awk 'プログラム'
    例:ls | awk '/\.awk/'
    ls の結果を awk に渡し,".awk" を含むファイル名だけを表示する。
    AWK プログラムはファイルに用意しておき,"-f 解析プログラムファイル名" として用いることもできる。
 awk の代わりに,gawk あるいは jgawk とすれば,それぞれの AWK が起動される。

 AWK プログラムへの入力は getline を使う場合もある。

II. 実行可能な AWK プログラム

 たとえば,以下の内容を含む hello という名前のファイルを作る。 1 行目の #! に続く,/usr/local/bin/awk は,ユーザのシステムによっては異なることもあるが,コンソールに which awk と入力したときに出力される文字列である(awk がどこにあるかを示す)。

#! /usr/local/bin/awk -f

# a sample awk program
BEGIN    { print "hello, world" }
 さらに,このファイル hello を chmod により,実行可能にする。
 その後,コンソールに hello と入力すれば,hello に書かれた AWK プログラムが実行される(コンソールに hello, world が表示される)。


・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI