vine-users ML アーカイブ



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

  • From: y_shiro@xxxxxxxxxxxxxxxx
  • Subject: [vine-users:068958] grepで上 書きエラー
  • Date: Tue, 30 Nov 2004 09:07:21 +0900
白鳥です。

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回した場合は、ファイルが上書きされるだけだと思っていましたが、そん
なに単純な話ではないのでしょうか? 
初歩的なところで勘違いをしているのかもしれまんが、お願いします。