#!/usr/bin/env ruby dir = ARGV[0] a = `find #{dir} -type f`.split "\n" md5 = "md5sum" if `uname` == "Darwin" md5 = "md5" end h = {} a.each { |fn| md5 = `#{md5} "#{fn}" | cut -d " " -f1` if h.has_key? md5 h[md5] << fn else h[md5] = [fn] end } h.each { |k,v| if v.size > 1 puts k v.each { |i| puts "\t#{i}" } puts end }