![]() |
|
|
|
複数ファイル検索には YooEdit 1.71を使います。理由は、対象フォルダの指定がかんたんなこと、結果の一括リストが自動的にできあがること、それから、検索と置換がたいへん高速だからです。
たいていのエディタが正規表現での置換に対応しています。けれども、検索の対象が多かったり置換作業が大量だと、エディタによって処理能力に大きなひらきが生じます。またエディタによって正規表現に若干の差異があり、おなじ指令を記述するのにも微妙に異なります。今回のように大量のテキストから外字注記を検索するようなときには YooEdit をおすすめします。Perl 言語(MacJPerl など)をあつかうときにも、Jedit の正規表現ではグループ化の表記などマッチせず、ちょっと苦労します。YooEdit の正規表現のほうがおおむね流用できるので、その分パターンマッチのテストがらくにできます。
YooEdit の検索窓をひらいて、検索文字列に[#と入力します。つぎに「フォルダの指定」ボタンを押す。ダイアログが開いたら、検索したいフォルダをえらびます。たとえば、『インターネット図書館・青空文庫』(2005.11. はる書房)付属 DVD ならば「作家別テキストフォルダ」。このなかに公開済みの全テキストファイルが未圧縮形式で収録してあります。全作品を対象に外字注記を検索したいならば、このフォルダをそっくりパソコンのハードディスクにコピーして、選択すればいいわけです。ちなみにYooEdit でできるのは「複数ファイル検索」であって、複数ファイルを「置換」する機能はありません。
注意点としては、「作家別テキストフォルダ」には 5441ファイルがあって 185.5MB のサイズがあります。いくら YooEdit の検索能力が高くても、処理はマシンパワーに依存します。YooEdit 以外のアプリケーションを起動しているときには、他アプリを終了させ YooEdit へのメモリ割り当て量を増やしておいてください。
これで検索を実行すると、およそ五分くらいかかって 77659行・11.6MB の「検索結果」というファイルが作成されます。
Searching Directory at "作家別テキストファイル:"
"00・文部省(1):あたらしい憲法のはなし.txt", 7: [#]:入力者注 主に外字の説明や、傍点の位置の指定
"00・文部省(1):あたらしい憲法のはなし.txt", 8: (例)[#改丁]
"00・文部省(1):あたらしい憲法のはなし.txt", 32: [#改丁]
"00・文部省(1):あたらしい憲法のはなし.txt", 44: みなさんが、何かゲームのために規則のようなものをきめるときに、みんないっしょに書いてしまっては、わかりにくい[#「わかりにくい」は底本では「わかりくい」]でしょう。國の規則もそれと同じで、一つ/\事柄に
"00・文部省(1):あたらしい憲法のはなし.txt", 131: 内閣は、内閣総理大臣と國務大臣とからできています。「内閣総理大臣」は内閣の長で、内閣ぜんたいをまとめてゆく、大事な役目をするのです。それで、内閣総理大臣にだれがなるかということは、たいへん大事なことです
"00・文部省(1):あたらしい憲法のはなし.txt", 171: [#地から1字上げ]おわり
"00・法律(3):大日本帝国憲法.txt", 12: [#]:入力者注 主に外字の説明や、傍点の位置の指定
"00・法律(3):大日本帝国憲法.txt", 13: (例)勅命《ちょくめい》[#底本では「勅命」を「勅明」と誤植]
"00・法律(3):大日本帝国憲法.txt", 83: 第四十二条 帝国議会ハ三|箇月《かげつ》ヲ以《もっ》テ会期トス必要アル場合ニ於《おい》テハ勅命《ちょくめい》[#底本では「勅命」を「勅明」と誤植]ヲ以《もっ》テ之《これ》ヲ延長スルコトアルヘシ
……
このような結果が得られます。順にフォルダ名・テキスト名・行番号、検索文字をふくむ行の先頭部分が表示されます。
この先頭部分というのがくせものです。目的は外字注記そのものを検索することでした。ところがこの結果では注記をふくむ行の先頭部分をリストアップしてしまうので、目的以外の情報が相当まじってしまいます。元のテキストにさかのぼらないと注記にたどりつけません。この問題の解決方法をおもいつくのに最近までかかりました。気がついてみればごく単純なことです。
元ファイルの注記のはじまりとおわりのカッコの前後で、改行を指令してやればいいわけです。
[ → \r[
] → ]\r
\r は改行の意味の正規表現です。こんなふうに処理してやれば、注記の前後で改行してくれるので、段落のなかからその部分だけが切りとられたようなかたちに加工することができます。あとは、そのうえであらためて注記を検索してやればいいわけです。
さきに述べたとおり、YooEdit では複数ファイルの検索は可能なものの、置換はできません。そこで、正規表現に対応していて複数ファイル置換が可能なアプリケーションを探せばいいことになります。Mac ならば、検索置換ラクダv1.01という Perl 系のフリーウェアがあります。
[ → \r[ regex
] → ]\r regex
【 → \r[ regex
】 → ]\r regex
[ → \r[ regex
] → ]\r regex
特例の【、】や、半角の [、] が混入していることもあるので、こんなふうに置換リストを書いてみました。矢印の部分は、じっさいはタブが入ります(regex というのは命令コマンドです)。元データに改行加工をくわえるわけですから、おおもとのテキストデータは作業用にそっくりコピーしたうえで実行することをおすすめします。こうして最初から作業をやりなおすと、つぎのような「検索結果」(102815行・7.3MB)ができあがります。
Searching Directory at "作家別テキスト作業用フォルダ:"
"00・文部省(1):あたらしい憲法のはなし.txt", 8: [#]
"00・文部省(1):あたらしい憲法のはなし.txt", 11: [#改丁]
"00・文部省(1):あたらしい憲法のはなし.txt", 37: [#改丁]
"00・文部省(1):あたらしい憲法のはなし.txt", 51: [#「わかりにくい」は底本では「わかりくい」]
"00・文部省(1):あたらしい憲法のはなし.txt", 140: [#「こんどの」は底本では「こんごの」]
"00・文部省(1):あたらしい憲法のはなし.txt", 182: [#地から1字上げ]
"00・法律(3):大日本帝国憲法.txt", 13: [#]
"00・法律(3):大日本帝国憲法.txt", 16: [#底本では「勅命」を「勅明」と誤植]
"00・法律(3):大日本帝国憲法.txt", 88: [#底本では「勅命」を「勅明」と誤植]
"00・法律(3):大日本帝国憲法_ルビなし.txt", 7: [#]
"00・法律(3):大日本帝国憲法_ルビなし.txt", 10: [#底本では「勅命」を「勅明」と誤植]
"00・法律(3):大日本帝国憲法_ルビなし.txt", 86: [#底本では「勅命」を「勅明」と誤植]
……
前回よりもかなりさっぱりした結果が得られます。なお、これと同様の手順で得られたのが「こもれび」No.1255 で添付したマニュアル内外字注記リストです。
YooEdit が優れているのは、「検索結果」としてファイル名と行番号の一括リストを作ってくれる点にあります。これで作中にいくつの外字注記があらわれ、何回出現するのかがわかります。行番号のあとのコロン「: 」をタブ(\t)におきかえれば、表計算ソフトで読みこんで注記内容でソート(並びかえ)することもできますし、同一行を削除することもできます。そうやって用意できたのが『外字注記コレクション』の新しい版です。
実際には、見てわかるようにまだレイアウト注記や誤植注記などもまじっている状態なので、もうちょっと整理作業がいります。「水準」という語句をキーワードにさらに抽出したり、逆に「誤植・傍点・ゴシック」などの語句を手がかりに行を削除することで、JIS X 0213 文字やそれ以外の注記が得られます。注記の手がかりの中に半角スペースや半角記号が混入していたり、正しい注記カッコで閉じられていない行などもあぶり出されます。
検索結果で得られる行番号は、表示行番号のことではなく論理行番号(段落=パラグラフ番号)のようです。承知のように前処理で注記の前後に改行をくわえましたので、実番号とはズレが生じることに注意してください。
やらせミーティングごくろうさまでした。憲法や法律なんてのもまた、文学みたいなもんですからねぇ。「正しい」ものなんてありえようがないし。伸縮自在のフィクション、幽靈だから。そしてぼくは虚飾に呉れる。1000年文庫。永遠の電子本を手に入れるためにギャラクシー・トレイン70年、というオチかと。じゃにぃ、とぅ・ざ・すかーい♪ by後醍醐クリスタル(腰、痛めないでね)
2006.12.19
しだひろし/PoorBook G3'99
翻訳・朗読・転載は自由です。