1章Awkチュートリアル
Awk は計算やデータ操作に幅広く利用できる、有用かつ表現力に優れたプログラミング言語だ。本章は、読者ができるだけ早く自分のプログラムを書き始められることを念頭に構成したチュートリアルだ。さまざまな分野の問題を Awk ではどのように解決できるかを示すのは以降の章に譲る。言語全体を詳細に記したリファレンスマニュアルは「付録 A:Awk リファレンスマニュアル」に収録してある。本書では全体を通じ、読者が楽しみながら学べるよう、有用かつ示唆に富んだ例題を取り上げた。
1.1さあ始めよう
Awk ではほんの 1、2 行の短いプログラムでも役立つものが多い。ここで、従業員の情報を書いたファイル emp.data があるとしよう。内容は、1 行ごとに従業員の名前、時間給 (ドル)、労働時間の 3 つの情報を、タブまたは空白で区切った次のようなものだ。
Beth 21 0 Dan 19 0 Kathy 15.50 10 Mark 25 20 Mary 22.50 22 Susie 17 18
このファイルから、1 時間以上働いた者全員の名前と賃金 (時間給と労働時間の積) を得たいとする。Awk はまさにこのような処理向けに開発された言語であり、きわめて容易に表現できる。コマンドラインに次の 1 行を入力する (コマンドプロンプトを $ とする)。
$ awk '$3 > 0 { print $1, $2 * $3 }' emp.data
次の出力が得られる。
Kathy 155 Mark 500 Mary 495 Susie 306
入力したコマンドに従い、システムは Awk を起動する。Awk が解釈、実行するのは続くクォーテーションマークで囲んだプログラムであり、このプログラムには ...
Get プログラミング言語AWK 第2版 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.