ファイル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