- 入力例
$ input.txt a2 a3 b1 b2 b3 c1 c2 c3
基本的なやつ
- 正規表現に一致した行だけを処理する
$ awk '/a/' input.txt a1 a2 a3
複数のパターンの組合せ
- or
$ awk '/a/ || /b/' input.txt a1 a2 a3 b1 b2 b3
- and
$ awk '/a/ && /1/' input.txt a1
その他
- not
$ awk '!/a/' input.txt b1 b2 b3 c1 c2 c3
- 範囲
- カンマで区切ったパターンに対して、1つめのパターンから2つめのパターンまでの間に対してマッチする。
$ awk '/a/ , /b/' input.txt a1 a2 a3 b1
- 処理の開始/終了時にマッチ
BEGIN
,END
- ファイルの処理開始/終了時にマッチ
BEGINFILE
,ENDFILE
BEGIN
は 処理全体の開始時 に呼ばれ、 BEGINFILE
は ファイルの処理開始時 によばれる。
例えば、awkに2つのファイルを処理させた場合、BEGINは1回、BEGINFILEは2回よばれる事になる。
余談
awkかわいい