counts = {} counts.default = 0 ARGV.each{ |arg| file=MPI.fopen(arg) data=file.read data.galign! data.each_line do |line| if line =~ %r{GET /ongoing/When/\d\d\dx/(\d\d\d\d/\d\d/\d\d/[^ .]+) } counts[$1] += 1 end end file.close } counts.gadd!() if MPI.rank == 0 keys_by_count = counts.keys.sort { |a, b| counts[b] <=> counts[a] } keys_by_count[0 .. 9].each do |key| print "#{counts[key]}: #{key}\n" end end