# usage: ruby idxshadow.rb yesterday.idx today.idx require 'gdbm' infnam = ARGV.shift outfnam = ARGV.shift raise Errno::EEXIST, outfnam if FileTest.exist?(outfnam) GDBM.open(infnam, 0666, GDBM::READER) { |idb| GDBM.open(outfnam, 0666, GDBM::WRCREAT) { |odb| idb.each_pair { |k, v| next unless /^(urn:uuid|http:|2\w+\.xml)/ === k next unless /^[0-9]/ === v odb[k] = "" } odb['idxshadow/updated'] = Time.now.to_s } }