テキスト処理とは? 99/3/20(Sat) 04:28pm

 最初にテキスト処理について簡単に説明しておきます。

 テキスト処理の目的は何でしょう。テキスト処理はテキストデータを自由自在 に加工して、自分に必要な形に編集し直すことです。そうすることによって、例 えば、ワープロからテキスト形式で保存した住所録のような定型的なテキスト データから住所録データベースを作成したり、オンラインでデータベース検索し たログからレコードを切り出して、一覧表を作成したりすることができるでしょ う。最近では定型データにHTMLのタグを付加して、Webプラウザで読みやすいよ うな形式に変換するようなニーズも多いと思います。このように元のテキスト データをキーボードから再入力することなく、自在に加工して新しい価値を付加 して出力することをテキスト処理と呼びます。

 テキスト処理をするためのツールとしては、5-6年前はスクリプト言語のAWKと Sedが代表的なものでした。最近では汎用のプログラミング言語としても使える Perl、Ruby、Pythonといったスクリプト言語が有力です。本講座ではPerlを使い ます。OSは当面DOS/Windowsに限定します(^^;)

 テキスト処理は通常、AWKやSedでよく知られているようにテキストファイルか ら改行で区切られた行を一行ずつ読んで加工処理をします。改行で区切られた一 行をAWKではレコード(record)と呼びます。AWKでは、デフォルトですから書かな いことも多いと思いますが、RS="\n"と書くことができます。レコードセパレー タ(RS=Record Separator)は改行(\n)というわけです。

 それでは、Perlを使ってテキストファイルから一行ずつ読みこみながら標準出 力に出力してみましょう。日本語処理をするのに適したjperlを使います。

jperl -ne "print;" infile

 DOSのプロンプトで、以上のように実行してみてください。infileには適当な テキストファイル名を指定してください。

 DOS画面上にinfileがずらずらと一行ずつ出力されましたでしょうか。大成功 です(^^)これはDOSコマンドで

type infile

とすることと同じことですね。

 さてテキストファイルは改行で区切られた行から成ることを理解してい ただけましたでしょうか。