From: toyofuku@... Date: 1998-02-20T19:04:27+09:00 Subject: [ruby-list:6599] Re: rgrep (Re: call for scripts) 豊福@パパイヤです。 前田さん >| *.Z, *.gz ファイルに対しては zcat, gzip -cd して >|grep してくれるように拡張してもらえませんか。 > > zcatがない環境もあるかもしれませんので、 > ruby -r zcat rgrep ... > というのでどうでしょう。 > > def open(file, mode = "r") > if file =~ /\.(Z|gz)$/ > return super("|zcat #{file}", mode) > else > return super(file, mode) > end > end なるほど open を再定義すれば rgrep の方は変更 しなくていいんですか。勉強になるなあ。 grep 対象外のファイルのときは return super("/dev/null", mode) 文字列が入ってるかもしれないパイナリファイルなら return super("|strings #{file}", mode) のような感じにすればいいんですね。 --- 豊福@パパイヤ unbound@papaya.juice.or.jp toyofuku@juice.or.jp