Go to the first, previous, next, last section, table of contents.

2つのルールを持つ例

awkユーティリティは入力ファイルを一度に1行読み込みます。awkは、各行ごとにすべてのルールのパターンを試します。複数のパターンがマッチした場合、複数のアクションがawkプログラムで現れる順番に実行されます。パターンがどれにもマッチしない場合は、アクションは実行されません。

行にマッチするすべてのルール(存在しない場合もあり)の処理が終了すると、awkは次の行を読み込みます(注意:see section next also)。この動作がファイルの終わりに達するまで続きます。

たとえば、次のawkプログラムには、2つのルールが含まれています。

/12/  { print $0 }
/21/  { print $0 }

1つめのルールは、 パターンとして文字列`12'を持っており、アクションとして`print $0'を持っています。2つめのルールは、パターンとして文字列`21'を持っており、アクションとして`print $0'を持っています。各ルールのアクションは、それぞれカーリーブレースで囲まれています。

この`awk'プログラムは、文字列`12'または文字列`21'を含む行を、すべて表示します。行に両方の文字列が含まれている場合は、各ルールごとに1回、つまり2回表示されます。

次のように、このプログラムをサンプルデータファイルの`BBS-list'`inventory-shipped'に対して実行すると、

awk '/12/ { print $0 }
     /21/ { print $0 }' BBS-list inventory-shipped

次のような出力が得られます。

aardvark     555-5553     1200/300          B
alpo-net     555-3412     2400/1200/300     A
barfly       555-7685     1200/300          A
bites        555-1675     2400/1200/300     A
core         555-2912     1200/300          C
fooey        555-1234     2400/1200/300     B
foot         555-6699     1200/300          B
macfoo       555-6480     1200/300          A
sdace        555-3430     2400/1200/300     A
sabafoo      555-2127     1200/300          C
sabafoo      555-2127     1200/300          C
Jan  21  36  64 620
Apr  21  70  74 514

`BBS-list'`sabafoo'で始まる行が各ルールごとに1回、つまり2回表示されていることに注意してください。


Go to the first, previous, next, last section, table of contents.