テキストの遊園地

ここはテキスト処理のテクニックをみがくための遊園地です。誰でも、コンピュータを触り始める前は、何かすごい、魔法の箱がうちにやってきたように考えて期待するもんですが、いざ使い始めてみると、こんなこともできん、あれも無理、ということが、いやというほどわかってくる。その結果、多くの場合、期待した魔法の箱は、早々と、単なるゲーム機や文章の清書機といういわゆるワープロ専用機の代替品になるのは、まだいいほうで、年に一回の年賀状印刷機になったりします。いわばお高くとまった料理店みたいなもんで、メニューにないものは一切出しません、と傲慢に構えているのがコンピュータの正体だと、だんだんわかってくるわけです。

プログラミングは、いわば、メニューにないものをコンピュータにムリヤリやらせる方法です。これまでは、エラそうに構えていた料理店の店主に、お客の要求に合わせて料理をださせる方法だといってもよいでしょうね。いったんプログラミングの手段を手に入れれば、この料理店の店主の腕もまんざらではないと改めて驚くこともあります。ある種の作業には、驚くほどの能率のよさを発揮するし、何時間こき使っても文句は言いませんから。要は、こちらがわの腕次第です。といっても、現代のコンピュータ自体に限界がありますから、何でもやらせるわけにはいきませんが、プログラミングは確実に新しい世界を見せてくれるでしょう。

それで、この遊園地では、プログラミング言語「awk」がテーマです。「awk」は小さいけれども強力なテキスト処理のツールであり、これをマスターすることで、コンピュータとのつきあいに、また一味ちがった楽しみが加わります。単なるゲームでは味わえない、創造する楽しさがあります。もちろん難しさや、面倒もありますが、それはみんな、最終的には意味のある創造に結びついて大きな達成感と喜びを味あわせてくれるでしょう。だから「遊園地」と名づけました。「awk」で、テキスト処理という分野ではありますが、わがままで、頑固で、融通の利かない、コンピュータを、これからは、有無を言わさず、コキ使って遊びたおすというのが、この遊園地のねらいです。

「awk」はテキスト処理の分野を得意とする言語ですが、この言語の作者の一人カーニハンは、現代主流になっているC言語の創始者の一人でもあります。従って、文法的にはC言語と大変似通っていて、将来Cを習得しようという気のある人には格好の入門にもなります。また「awk」を使用するためには、「正規表現」の理解が不可欠なので、それも独立させて習得できるようになっています。こっちの方はできあがっています。「awk」の講座はこれからです。だいたい二、三週間に一回アップする予定でいます。また質問等をお寄せ下さればうれしい。

河合一夫(百舌鳥)メール(spam 対策のため 添付ファイル不可、プレーンな text メールのみ受信します):


第一部 講座「正規表現」

全12回

第二部 講座「文系のためのawkプログラミング入門」

はじめに
第1回 awkとはどんな言語か (01/02/07 語句訂正)
第2回 フィールドとレコード
第3回 フィールドとレコード(続き)
第4回 awkの変数 (05/06/26)
第5回 出力 print printf文 (05/06/25)
第6回 awkにおける算術演算(05/06/25)
第7回 正規表現とパターンマッチング (05/06/27)
第8回文字列関数(1) (05/07/02)
第9回文字列関数(2)(05/07/02)
第10回スクリプトの実行順序の制御(はじめに)(05/07/02)
第11回スクリプトの実行順序の制御(その2)… if 文(05/07/04)
第12回スクリプトの実行順序の制御(その3)… 条件式(05/07/04)
第13回スクリプトの実行順序の制御(その4)… while 文(05/07/04)
第14回スクリプトの実行順序の制御(その5)… for 文(05/07/04)
第15回スクリプトの実行順序の制御(その6)… next と exit(05/07/04)
第16回awkの配列(05/07/04)
第17回awkの連想配列(05/07/04)
第18回ユーザ定義関数(06/01/06)
第19回ユーザ定義関数(続き)(06/01/06)