grep / filter文件的简单方法,并将其存储在新文件中

时间:2015-10-10 14:01:16

标签: ruby regex

我想学习过滤fileIN.txt的最简单方法,并将结果存储在fileOUT.txt中。我有一个逻辑可以通过每一行,做grep和写行如果匹配,但我认为可能更强大的东西?

我的文件是2G,所以我关心性能。

f = File.new("fileIN.txt")
text = f.read
if text =~ /foo|moo|woo/ then
  #write fileOUT.txt?
end

1 个答案:

答案 0 :(得分:1)

我会选择:

begin
  input = File.new('fileIN.txt', 'r')
  File.open('fileOut.txt', 'w') do |output|
    while line = file.gets
       output.write line if line =~ /foo|moo|woo/    
    end
  end
ensure
  input && input.close
end