Немного расширив ответ sepp2k, добавьте рекурсивную проверку всех подкаталогов на наличие таких:
#!/usr/bin/env ruby
if ARGV.count != 1 then raise RuntimeError, "Usage: newest.rb '/path/to/your dir'" end
Dir.chdir(ARGV[0])
newest_file = Dir.glob("**/").max_by {|f| File.mtime(f)}
if newest_file != nil then
puts newest_file.to_s + " " + File.mtime(newest_file).to_s
else
puts "No subdirectories"
end
и используйте это вместо этого, если вы хотите все файлы, а не только каталоги:
Dir.glob("**/*")