Feature of the gawk

このページをご覧になっている方々は既にご存じのことと思いますが、gawk の特徴を簡単に挙げておきます。

[Go to Index]

gawk とは

gawk の元になっている AWK は Alfred V. Aho, Peter J. Weinberger, Brian W. Kernighan の 3 人により AT&T のベル研究所で作られたテキスト処理に適したプログラミング言語です。AWK という名前がこの 3 人の開発者の頭文字 (A, W, K) から付けられていることでも有名ですが、System V に搭載されて以来、UNIX の標準コマンドのひとつになっています。また、多くの OS で動作することも魅力のひとつで、UNIX はもちろん MS-DOS, MS-Windows さらには古い Macintosh や VMS, Amiga などでも動作しますので、プログラムの移植性は同じインタプリタ言語である Perl や Ruby をはるかに凌ぎます。

gawk の利点

AWK の利点として、下記のような点が挙げられます。

こういった AWK の特徴に加えて、gawk では以下のような改善がされています。

gawk の得意分野

AWK は以下のようなことを得意としています。

AWK の発音

AWK は「おーく」と発音し、決して「A・W・K」と区切って読んではいけないことになっています。

*1 コンパイルされた環境には依存し、特に Think C でコンパイルされた gawk は srand() の戻り値が異ります。

AWK でここまでできる

AWK を使ったプログラムの中でも特異なプログラムを紹介します。

Web Server (httpd)

Valentin Hilbig 氏が AWKhttpd というものがあります。AWK 単独ではなく、inetd などのスーパー・サーバーを介して動作させます。また、このページも AWKhttpd にて動作しているそうです。

同様なものが NAIST の持橋氏の ahttpd です。/etc/passwd の情報から ~user 指定ができます。こちらも inetd などのスーパー・サーバーを介して動作させます。

Assembler

Henry Spencer 氏による AWK のアセンブラです。入手は、ftp://ftp.freefriends.org/arnold/Awkstuff/aaa.tgz から可能です。

CASL Assembler

出雲氏が作成した CASL Assembler があります。出雲氏と言えば、ahttpd の持橋氏と同じ NAIST 出身で、Linux でも Timidity でお世話になっています。

Lisp Interpreter

Roger Rohrbach 氏による Lisp インタプリタで、その名も walk です。http://www.funet.fi/pub/archive/alt.sources/volume94/Jun/940601.09.gz にて入手できます。またマニュアルは http://cl.aist-nara.ac.jp/~daiti-m/etc/awk/walk.pdf にて PDF のマニュアルが入手できます。

これとは別に Awklisp と呼ばれるものがあります。

nroff Formatter

AWK によるアセンブラの作者 Henry Spencer 氏による AWK の nroff フォーマッター、つまり man コマンドです。入手は、ftp://ftp.freefriends.org/arnold/Awkstuff/awf.tgz から可能です。nroff がない環境でも AWK さえあれば man page が読めます。実際には MS-Windows などで AWK だけがインストールされてる場合に効果を発揮するかも知れません。

Wiki

Oliver Tonnhofer 氏が AWK で作成した Wiki こと AwkiAwki です。AWK で CGI を作成した数少ない例です。

日記システム

Gorry 氏の日記作成支援システム GNS (GORRY's Nikki System) です。AWK らしいアイデア・プログラムです。

Copyright © 2003 by Hirofumi Saito <hi_saito@yk.rim.or.jp>. All rights reserved.