一時ファイルを使ってファイルを更新する
srcname = 'old.txt' tmpname = 'old.tmp' bakname = 'old.bak' dst = open( tmpname, 'w') # テンポラリ src = open( srcname) src.each {|x| # ここでxを加工する dst.puts x.downcase } src.close() dst.close() File.rename( srcname, bakname) # すでに同名ファイルがあるとまずそう File.rename( tmpname, srcname)