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.