From: matt@... (matt neuburg) Date: 2006-10-17T03:10:15+09:00 Subject: Re: how to replace file's content directly? camenix wrote: > > On 16.10.2006 12:49, camenix wrote: > > > I have a sql file exported from mysql,and want to chang the charecter > > > set to utf-8. > > > > > > sqltempfile=File.new(sqltemp,'w+') ### How to get rid of it? > > > File.open(sqlfile,'r+') do |file| > > > lines=file.gets(nil) > > > lines.gsub!(/TYPE=MyISAM/){|match| match='DEFAULT CHARACTER SET > > > utf8'} > > > sqltempfile.puts lines ### How to get rid of it? > > > end > > > sqltempfile.close ### How to get rid of it? > > > > > > And the question is,how to replace the string directly without > > > sqltempfile? > > > Anyone help me? > > > > > > > ruby -i -p -e 'gsub! /TYPE=MyISAM/, "DEFAULT CHARACTER SET utf8"' your_file > perlish script.Ugly,but worked. Would this be less "ugly"? s = nil open(myfile, 'r') {|f| s = f.read} open(myfile, 'w') {|f| f.puts s.gsub("TYPE=MyISAM", "DEFAULT CHARACTER SET utf8")} m. -- matt neuburg, phd = matt@tidbits.com, http://www.tidbits.com/matt/ Tiger - http://www.takecontrolbooks.com/tiger-customizing.html AppleScript - http://www.amazon.com/gp/product/0596102119 Read TidBITS! It's free and smart. http://www.tidbits.com