summaryrefslogtreecommitdiff
path: root/merge-files
diff options
context:
space:
mode:
Diffstat (limited to 'merge-files')
-rwxr-xr-xmerge-files31
1 files changed, 31 insertions, 0 deletions
diff --git a/merge-files b/merge-files
new file mode 100755
index 0000000..714b57d
--- /dev/null
+++ b/merge-files
@@ -0,0 +1,31 @@
+#!/usr/bin/env ruby
+
+require 'zipf'
+
+def usage
+ STDERR.write "merge_files <file>+\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 }
+ }
+}
+