きくたにです。
たしか前出てたと思うのですが、ディレクトリの下方参照を*簡単*に
やる方法はどうやるのでしたっけ?
「あるサイズ以上のファイルを探す」というのをやりたくて、
$min = ARGV[0].to_i
def look(path)
Dir.foreach(path){|f|
if FileTest.directory?(f)
unless f == '.' or f == '..'
look(Dir.pwd + "/" + f)
end
else
fn = path + "/" + f
if FileTest.file?(fn)
size = File.size(fn)
printf("%8d %s\n", size/1024, fn) if size > $min * 1024
end
end
}
end
look(".")
なんてのを書いたのですが(非Unix環境のためfindを使わないということで)、
階層が深くなるとファイルをオープンしすぎてエラーですね。
これは再帰を使わなければいいような気もしますが。
以前ディレクトリの下方参照の話題が出たときは zsh の 「**」みたいな簡単な
記法があったと思ったのですが。
--
人生を背負い投げ
菊谷 誠(Kikutani Makoto) kikutani / gol.com
kikutani / debian.or.jp (Linux関係のみ)