基本的にはテキスト型のデータの1行への処理(どのパターンの行に、どのアクションを施すか)を記述しておくことで、読み込まれたテキストデータのすべての行にその処理を適用してくれるという言語です。
プログラムの書き方の基本は、'パターン { アクション }'です。たとえば、'{ print $1 }'なんて1行を書いておくと、テキストデータのすべての行の1番最初の文字列だけを抜き出してくれます(アクションの記述例)。また、'/awk/'と書くと、テキストデータの中で"awk"という文字列がある行だけを抜き出して表示してくれます(パターンの記述例)。
最初の例のように、パターンが省略された場合は、すべての行にアクションが施されます。2番目の例のように、アクションを省略すると、自動的にその行全体をprintするというアクションがとられます。
さらに、'{ print log($1) / log(2) }'と書いておくと、入力ファイルにある数の対数(底は2)が計算されます。この場合は、1行にひとつずつ数値を書いておくことになります(組み込み関数の入ったアクションの記述例)。
AWKは、C言語に似ていることや、インタープリタ型の言語であること、変数の宣言がいらないことなどのため、ちょいと書いてすぐ実行できるので、非常に重宝しております。おなじプログラムがPCでもEWSでも動くというのもいい点です。
このAWKを、GNUというフリーソフトウェアを作成・配布している団体が作成したものがGAWKです。さらに、それを日本語化したのがJGAWKなのです。PC用もUNIX用も、いろいろなところから入手できるものと思います。
トッパンから、「プログラミング言語AWK」という本が出ており、かなり詳しく例題なども出ています。
===================================================== 【書 名】プログラミング言語AWK 【著 者】エイホ/カーニハン/ワインバーガー著 足立 高徳 訳 【発行所】株式会社トッパン 【発行日】1989/11/10 【ISBN 】4-8101-8008-5 【価 格】3400円(1990/06/15 第3刷の価格) =====================================================著者によると、「この本の第一の目的は、AWKが何であって、どうやれば効果的に使えるかを読者に伝授することである。 (中略) 読者は、1章から読み始め、いくつかの小さな例を自分自身で試してみるとよい」ということです。非常に例題の多い、わかりやすい本だと思います。
基本的に説明は1章と2章だけで、それ以降はすべて例題です。3章ではデータの検索、変換、変形、検証などの機能により、小さい個人的なデータベースの管理を行います。4章では、データベースからレポートを作成する方法、5章では、文書生成プログラムなど、6章では「小さな言語」として、特定の分野向けの特殊な言語を作ります。7章では、テストと効率評価を含むアルゴリズムの実験を行います。
そんなわけで、ちょこちょこと例題を試しながら読み進むと、知らぬ間にAWK使いになれます。(^^)
http://www.wakhok.ac.jp/~maruyama/Unix92/awk/awk.htmlというURLでも、AWKの紹介がされています。このURLはインターネットの検索機能で、「AWK」で検索すると、出てきたものです。