ファイル1の1列目に存在しないファイル2の列を出力するスクリプト diff 差分

ファイル1の1列目に存在しないファイル2の列を出力するスクリプト
joinでできるかも。。diff的になもの

$ cat diff_1.rb
require 'optparse'
require 'set'
option={}

opt=OptionParser.new
opt.on('-b VAL'){|v| option[:b]=v}
opt.on('-n VAL'){|v| option[:n]=v}
opt.parse!(ARGV)

base_file1=option[:b]
new_file2=option[:n]

f1=open(base_file1)
f2=open(new_file2)

s=Set.new
f1.each{|i| j=i.split("\t")[0];s.add(j)}
f2.each{|j| j2=j.split("\t")[0];if not s.include?(j2) then puts j;end}

使いかた

ruby diff_1.rb -b tmp_old -n tmp_new