gawk とは/What's gawk?

トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

AWK とは

AWK とは Aho, Weinberger, Kernihan の 3 名が作成したテキスト処理に特化した言語で、以前は grep, sed と並んで UNIX の「三種の神器」とまで呼ばれていたころもあります。特徴は以下のとおりです。

  • 変数に $ や @ が付かず、C 言語に近い文法
  • 少ないが洗練された関数群
  • 行 (レコード) をフィールドに自動的に分割
  • 非常に小さい (ソースコードで 2 MB)
  • ポータビリティが高く、多くの OS で動作

gawk とは

オリジナルの AWK に GNU 独自の拡張を行ったものが gawk です。オリジナルにないものとしては、以下のようなものがあります。

  • TCP, UDP などを用いたインターネットリソースへのアクセス
  • 時間を取得する関数、ソート関数などの追加
  • ビット操作関数、国際化関数の追加

現在は GNU 版である gawk が主流となっており、当ページでも gawk をメインに記載しています。また、他の多くの Web ページでも gawk であることを前提に記載されているところが多いようです。

xmlgawk とは

xmlgawk は、Jurgen Kahrs 氏らが中心となり、現 gawk メンテナーの Arnold Robbins 氏が gawk に今後組み込もうと考えていることを先行して開発することを目的として開発されているものです。特徴としては以下のようなものがあります。

  • XML 対応 (node 単位でフィールドを扱える)
  • XML に関して入出力は UTF-8 だけでなく、EUC-JP も使用可能
  • PostgreSQL データベースの読み込み
  • gawk からのフォークではなく、先行開発

Arnold Robbins からのメッセージ

以下は、2005 年に開催された LLDN に寄せられた gawk メンテナーの Arnold Robbins 氏からのメッセージです。少し抽象的ではあるものの AWK について簡潔に説明してくれていますので、一読していただけると AWK の魅力が分かると思います。

Greetings. Thank you for asking me to send a note about awk. I wish
that I could claim credit for the language, but that really goes to
the bright people then at Bell Labs who created it.

Awk is often called a "little" language.  And in terms of number of
features, that's true.  But the features it does have, both singly
and in combination, provide both power and elegance. You can do a lot
of things with small, easy to read (and easy to write!) programs.
If you invest the time to learn awk, you may find that you don't
really *need* to invest a lot more time learning some of the other
languages out there.

Best wishes,

Arnold Robbins

拙いものの、翻訳してみました。

こんにちは。 awk についての手紙を依頼してくれてありがとうございます。 
この言語を自分のものにすることができればうれしいのですが、それは本当に
それを作成したベル研究所で聡明な方々のものになります。

awk はしばしば「小さい」言語と呼ばれます。 特徴の点では、それは本当です。
しかし、それが単独と組み合わせで持つ特徴は、パワーとエレガントの両方を
提供してくれます。 小さく、読みやすい (そして、書くのも簡単です !) プロ
グラムで多くのことができます。awk を学ぶ時間を費やすなら、ずっと多くの
時間を他の言語のいくつかを学びながら費やす必要はないと本当にわかるでし
ょう。

敬具

Arnold Robbins

他から見た gawk とは?


最終更新時間:2005年10月15日 19時29分36秒