FGALDC 13 /RE:07326 RE:生ログの海を泳ぐために  こんにちは、あきろ さん、文太さん。 》 今はエアクラに変更しようとしているところです。 KTXのときは、nifpでロ 》 グを分割していました。でも、分割したログを読むことはほとんどなく、生 》 ログをモバギ(nifp)で読み書きしていたのです。 そう、私も母艦(PC-9821As)で通信した生ログをオアシスポケット3に送り込ん で通勤時に読み書きしています。この辺のことは、14階の #6322 にちょっと細 かく書いてあります。このスクリプトを作ったことにより NIFP を使う必要性が 半減し、ついには生ログからレスをつけられるVzマクロ作成にまで突っ走って しまいました。 以前は母艦とポケ3の間でのログの受け渡しには RDISK を使っていたんですが、 1年くらい前から母艦にカードスロットを取り付けたんで非常に快適です。 このCバス接続のカードスロット、ちゃんとDOSでも読み書きできるのがうれ しいです。えらいぞ、IOデータ。 》 この gawkというツールはどこにあるでしょうか? 記憶にございますか? 現在、AWKはお使いではありませんか? また、実行環境はモバですか、それとも母艦? 以下、モバ(というかDOS)を前提に書きます。 DOSでメジャーな日本語の通るAWKというと、JGAWK GAWK+mb MAWK と言っ たものがあります。 JGAWK は、一番古くからあり、実績もあり安定しています。私が常用しているの はこれです。 その JGAWK は GAWK を日本語化したものですが、日本語化ではなくマルチバイ ト化したものが GAWK+mb です。 MAWK は最近出てきたもので、あまり使い込んでいないんですが、早いとかメモ リ使用量が少ないといったメリットがあったような気がします。 ただ、niftree2.awk はメモリを大食いするので、DOSからならDPMIを使える GAWK+mb の djgpp 版がよろしいかと思います。ただ、ちょっと遅いんですけどね。 ちなみに、niftree1.awk は必要とするメモリサイズは発言数やログサイズには依存 しなかったと思いますが、よく覚えていません。 所在は、文太さんが教えてくれていますが、FGALTS です。 nifty:FGALTS/LIB/1/249 716456 BGAWKM112.ZIP gawk+mb MSDOS 実行ファイル 今回、いい機会だったので3つを使い比べてみました。 手元にあるものを使ったので、ちょっとバージョンがふるいです。 JGAWK: Japanized Gnu Awk (jgawk) 2.15.2 + 1.1(SJIS) GAWK+mb: GNU Awk 3.0.3 + multi-byte extension 1.09 Copyright (C) 1989, 1991-1997 Free Software Foundation. MAWK: mawk 1.3.3MsDOS Nov 1996, Copyright (C) Michael D. Brennan Adaptation for MBCS (P. yedoensis R27) by KIMURA Koichi ただし、GAWK+mb は djgpp 版を使いました。これはDPMI必須です。 niftree1.awk は、ログの中存在するフォーラムの会議室の数だけ出力ファイル を開きます。 そして、一度開いたファイルはスクリプト実行中は開きっぱなしです。 ところが、MAWK は一度に15ぐらいのファイルまでしか開けないようです。 設定で変えられるのか、それともDOSの側の制限なのかはわかりません。 JGAWK と GAWK+mb では、150くらい平気で開きました。 MAWK の新しいバージョンでは大丈夫かな? 今年の全てのログを JGAWK+niftree1 で処理させたら、ここDCの13階はおよ そ800発言弱、70KBほどのタグファイルを出力してきました。また、15 階は約1300発言、100KB強のタグファイルを出力してきました。これを niftree2.awk の入力としました。使ったマシンは PC-9821As(CPU は 133MHzに 増強)です。 ところが、15階の発言はさすがに量が多過ぎて、GAWK+mb 以外では処理出来ま せんでした。所要時間は118秒でした。 JGAWK も MAWK も、データ読込途中で止まってしまったのですが、読み込めたデ ータ数は JGAWK が820発言分、MAWK が1178発言分でした。 MAWK の方がメモリをたくさん使えるというのはどうやら本当らしいです。 ここ13階の発言は、3つのAWKとも処理できました。 所要時間は、JGAWK が28秒、MAWK が34秒、GAWK+mb が42秒でした。 参考までに、GAWK+mb のリアルモード版(DPMIを使わないやつ)を使ってみ たら、わずか409発言分読み込んだだけでメモリが足りないと言ってコケてし まいました。根性のない奴。                                 としき