AWKで遊ぼう

sed & awkプログラミング 改訂版 (A nutshell handbook)の2.0.11*1を読んでいる最中なので、AWKで遊んでみる。

AWKは、データの整形に特化したプログラム言語。あー、1985年に言語拡張したとか書いてあるから相当古い言語やね。

例えば、名簿ファイルを整形したりするのに便利。

例えば、次のようなblogリストがあったとする。

mzp     http://d.hatena.ne.jp/mzp/
dmp     http://geodenx.ddo.jp/blog/
selvaggio       http://d.hatena.ne.jp/selvaggio/

これを、整形して表示するには、次のようなAWKプログラムがあればいい。

# blog.awk -- blogリストを整形して表示する
{
    print "Name:",$1
    print "URL:",$2
    print ""
}

AWKは各行を自動で空白文字で区切って、最初から$1,$2,...,$nに代入してくれる。

なので、これを実行すると次のようになる。

$ awk -f blog.awk blog.txt
Name: mzp
URL: http://d.hatena.ne.jp/mzp/

Name: dmp
URL: http://geodenx.ddo.jp/blog/

Name: selvaggio
URL: http://d.hatena.ne.jp/selvaggio/

# このAWKで仲間内の名簿テキストを整形してFTPに置いておきました。自動生成したやつだから、編集しちゃだめよ?

*1:2nd Edition 初版 11刷