summaryrefslogtreecommitdiff
path: root/merge_files
blob: db9d5dac43068e69158eef40b621dad4aad80606 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env ruby

STDOUT.set_encoding 'utf-8'

def usage
  STDERR.write "merge_files [file]+\n"
  exit 1
end
usage if ARGV.size==0


files = ARGV
dicts = []

files.each { |i|
  dicts.push Hash.new
  dicts.last.default = 0
  File.open i, "r:UTF-8" do |f|
    while line = f.gets
      dicts.last[line.strip] += 1
    end
  end
}

dicts.each { |h|
  h.each { |k,v|
    counts = []
    dicts.each { |j| counts.push j[k]; j.delete k }
    counts.max.times { puts k }
  }
}