2004年11月30日

[vine-users:068958] grepで上書きエラー

白鳥です。

grepを使っているときに遭遇したエラーです。
Vine-users MLで質問する内容ではないと思いますがお願いします。

例えば、Vine-users MLから受け取っているメールが入っているディレクトリ
で、みなさんがどのようなメールソフトが使われているのか調べるために
$ grep X-Miler * > x-mailer.txt
とすると、x-mailer.txtに
86:X-Mailer: Apple Mail (2.619)

87:X-Mailer: Sylpheed version 1.0.0beta3 (GTK+ 1.2.10; i686-pc-linux-gnu)
88:X-Mailer: Sylpheed version 0.9.7 (GTK+ 1.2.7; i586-pc-linux-gnu)
といった出力が書き込まれます。
さらにこの状態で、もう一度
$ grep X-Miler * > x-mailer.txt
とすると処理がループに入ってしまい、HDDに5GBあった空き容量が200MBくら
いまで減少して「ディスク容量が足りません」といったエラーがでてgrepが停
止してしまいました。

しかし、x-mailer.txtを消してから
$ grep X-Miler * > x-mailer.txt
$ grep X-Miler *
としたときは、ループに入ることもなくディスプレイに普通に結果が出力され
ました。
また、
$ grep X-Miler * > test.txt
として違うファイルに出力したときも問題はありませんでした。

また、ループに入ってしまったときにCtrl-cでgrepを停止して、x-mailer.txt
をみると
x-mailer.txt:x-mailer.txt:x-mailer.txt:x-mailer.txt:x-mailer.txt:x-mailer.txt:x-mailer.txt:150:X-Mailer: Sylpheed version 0.9.12 (GTK+ 1.2.10; i686-pc-linux-gnu)
x-mailer.txt:x-mailer.txt:x-mailer.txt:x-mailer.txt:x-mailer.txt:x-mailer.txt:x-mailer.txt:151:X-Mailer: Sylpheed version 1.0.0beta3 (GTK+ 1.2.10; i686-pc-linux-gnu)
といったようになっていました。どうもx-mailer.txtを読み込んで処理をする
ところでループに入ってしまっているようなのですが、原因がわかりませんで
した。
$ grep X-Miler * > x-mailer.txt
を2回した場合は、ファイルが上書きされるだけだと思っていましたが、そん
なに単純な話ではないのでしょうか?
初歩的なところで勘違いをしているのかもしれまんが、お願いします。

投稿者 xml-rpc : 2004年11月30日 09:07
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/28402
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。