summaryrefslogtreecommitdiff
path: root/merge-files
diff options
context:
space:
mode:
authorPatrick Simianer <p@simianer.de>2016-07-05 11:01:46 +0200
committerPatrick Simianer <p@simianer.de>2016-07-05 11:01:46 +0200
commit2b1d7f881c19c4d4b5afae194e02d3300c7675d0 (patch)
tree5a06ee7de98640a39244b57bb369697176b44ebf /merge-files
parent69949dda35c3ea21d8e926e5f0a596a0a0f61c6a (diff)
mv
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 }
+ }
+}
+