From: William James Date: 2007-10-06T00:00:04+09:00 Subject: Re: replace a text in base directory On Oct 5, 7:33 am, 7stud -- wrote: > Pokkai Dokkai wrote: > > how can replace a text from all files in > > "/home/user" directory and sub directories (tree)... > > Try this: > > Dir.glob('/Users/me/2testing/dir2/**/*') do |fname| > next if File.directory?(fname) > > File.open("temp.txt", "w") do |temp_file| > IO.foreach(fname) do |line| #fname is from outer loop > new_line = line.gsub("hello world", "goodbye") > temp_file.print(new_line) > end > > File.delete(fname) > File.rename("temp.txt", fname) > end > end This botched code bombs. Don't ever post untest code without stating that it is untested code.