require 'fileutils'
require 'pp'
def search(file, result)
if( file =~ /.*?\.(ear|zip|jar|war)/ )
FileUtils.mkdir("./temp_#{file}")
FileUtils.cp(file,"./temp_#{file}")
FileUtils.cd("./temp_#{file}") {|dir|
Dir.glob("*.#{$1}"){|f|`unzip -n #{f}`}
FileUtils.rm(file)
Dir.glob("*").sort.each{|f|
sub_result = []
sub_result << f
result << sub_result
search(f, sub_result)
}
}
else
begin
FileUtils.cd("./#{file}") {
Dir.glob("*").sort.each{|f|
sub_result = []
sub_result << f
result << sub_result
search(f, sub_result)
}
}
rescue
end
end
end
result = []
file = ARGV[0]
result << file
search(file, result)
FileUtils.rm_rf("./temp_#{file}")
pp result