のらりくらり

物理化学分野のポスドクです。プログラミング、読書、自転車などが好きです。

カレントディレクトリ以下の全てのディレクトリを走査して画像だけを表示するスクリプト

昨日のスラドの記事(http://slashdot.jp/yro/11/05/02/0138236.shtml)で読んだんです。そこで、タイトルにあるようなスクリプトを書いてみました。

#!/usr/bin/ruby -Ks

def directory_search(path)
	list = Dir.glob("#{path}/*")
	list.each do |child|
		if File.directory?(child)
			directory_search(child)
		else
			`open #{path}/#{child}`	if File.extname(child) =~ /(jpg)|(png)/
		end
	end
end

if __FILE__ == $0
	path = File.expand_path(File.dirname($0))
	directory_search(path)
end

実験してみると、ほんとに全部の画像が表示されて、自分のマシンが大変なことになりかけましたw 実験は自己責任で。
もし困ったら、実行中に、カレントプロセスをターミナルにして(要はターミナルウィンドウをクリックしてアクティブにするだけの話)、Ctrl+Cを押せば中断できるはずです。一回でダメなら複数回!

あと、画像の表示にopenコマンドを使っていますが(` `でかこまれた部分)これはMacでやっているからです。Windowsだと、なんだろう・・・調べてくださいw
はぁ・・・