历遍目录,读取文件,然后将文件中的固定行替换掉

应该有很多方法可以更加简单,只是太久没有写程序了,赶鸭子上架了 

require 'iconv'

def myreplay(filename,tt)
    ##建立另外一个目录,将文件产生到新的目录中
    file=File.open('D://bak/tmp2/' + tt + '/' + filename,'w')
   i=0
   message=''
   File.open('D://bak/tmp/' + tt + '/' + filename).each do |f|
       message=f
           if(f=~/<ErrorFieldCount>0<\/ErrorFieldCount>/)
           (
                 file.print '<ErrorFieldCount>1</ErrorFieldCount>'
file.print "\n"
           )
       else
           (
            file.puts message
           )
       end
   end
end
def indirp(dirname)
dirp2 =Dir.open("D://bak/tmp/" + dirname)
 for m in dirp2
 case m   
                  when /^\./, /~$/, /\.o/,/.rb/,/.dat/ 
                  else  
 ##开始调用替换函数
#myreplay(m,dirname)
puts dirname 
puts m
myreplay(m,dirname)
                  end   
 end
end
dirp = Dir.open("d://bak/tmp")   
for f in dirp   
  case f   
  when /^\./, /~$/, /\.o/,/.rb/,/.dat/ 
  else  
 ##进入这个目录中
 indirp(f)
  end   
end   
dirp.close  
posted @ 2011-11-29 08:04  乱草  阅读(244)  评论(0编辑  收藏  举报