first I'd try the obvious and try to read smaller_file completely into
mem - 20MB is not too much for current systems:
fileNames = File.open("smaller_file.txt", "r") do |f|
h = {}
f.each do |line|
line.chomp!
line.strip!
h[line]=true
end
h
end
File.open("expanded_file.txt","w") do |expanded|
File.open("big_file.txt", "r") do |f|
f.each do |line|
line.chomp!
line.strip!
expanded.puts line if fileNames.has_key? File.basename(line)
end
end
end
Cheers
robert