#!/usr/bin/env ruby require 'zipf' def usage STDERR.write "merge_files +\n" exit 1 end usage if ARGV.size==0 files = ARGV hashes = [] files.each { |i| hashes.push Hash.new hashes.last.default = 0 f = ReadFile.new i while line = f.gets hashes.last[line.strip] += 1 end f.close } hashes.each { |h| h.each { |k,v| counts = [] hashes.each { |j| counts.push j[k]; j.delete k } counts.max.times { puts k } } }