FGALDC 13 /RE:07422 RE^9:生ログの海を泳ぐために  こんにちは、文太 さん、あきろ さん 》 とおっしゃってるので、「ファイルオープンエラー」と「メモリ不足」は 》別問題、と考えるのでしょうね、きっと。 実はこの辺、私も3つのAWKを比較して始めてわかったことなんですが。 niftrr2.awk のメモリ使用量は、入力ファイルの発言数に比例するようにプログ ラムしてあるつもりです。 そこで、大きな入力ファイルを読み込ませて、どこまで読み込めるかということ で推測しました。メモリの量は一定なわけですから、入力ファイルがたくさん読 める→自分自身のメモリ消費量は小さい、というわけです。この辺の測定結果が #7338 の尻尾の方に書いてあることです。 また、読み込みきれなかった時のエラーメッセージも、Not enough memory とか Memory exhoust とかって出て、とにかく memory って単語がつきます。 一方、niftree1.awk は、入力として与える生ログの総ファイル数を増やそうが、 1つのファイルのファイルサイズを増やそうが、作った方としてはメモリ使用量 は一定のつもりです。 でも、あきろさんの示されたエラーメッセージは niftree1.awk で出力されます。 また、このエラーメッセージには memory と言う単語が付きません。 これらのことから、メモリ不足とは関係ないと判断したわけです。 さらに言うと、niftree1.awk ってたくさんのファイルを生成しますが、それぞれ の出力ファイルをオープンすると、スクリプト終了時まで明示的にはファイルを 閉じないような形にプログラムしてあります。ところが、mawk を使った時だけ、 15個目くらいのファイルを作ろうとした時にあのエラーメッセージが必ず出ま す。これは、出力ファイルが15個以上作られる入力ファイルであれば、どんな 小さな生ログでも再現します。 逆に、出力ファイルが15個まで行かなければ、どんなに大きな入力ファイルで もこのエラーが出ることはありません。 で、出力ファイルの他に入力ファイルをオープンしているので計16個までは無 事にファイルをオープンできているのですが、17個目が開けないと言うことが わかりました。 ここから先がうろ覚えなんですが、DOSのファイルのオープン方式には2種類 あって、古い方式を使うと16個までしかファイルを開けない、と聞いたことが あります。つまり、mawk は内部で古い方式のファイルのオープン方法を使ってい るのではないか、と推測したりしています。 》小説をwebから拾ってきて読む。でも英語はだめ? いえ、偏見だとは思 いえ、高校時代の英語がだめだった理由ははっきりしています。 実は、第1志望校だった某国立大学、二次試験に英語がなかったんですね。 しかも、翌年からは二次試験に英語が導入されるとアナウンスされていた。 つまり、現役合格が果たせれば英語が不要、ということです。 でも、ここに落とし穴があって、二次に英語がなかった分、共通一次の英語の点 数は1.5倍で計算されたんですね。共通一次の英語の点数が平均点に遠くおよ ばなかった(多分、30〜40点は低かった)せいで、見事不合格でした。 さらにおまけで、滑り止めは6つくらい受けたのですが、全て入試科目に英語が あったおかげで全部落ちました。わははは。 #一浪後も8つくらい受けて、やっと一つしか受かりませんでした                                 としき