自从我将ruby用于这样的事情以来,已经很长时间了,但是,我忘记了如何打开
文件,查找字符串以及打印ruby发现的
内容.这是我有的:
#!/usr/bin/env ruby
f = File.new("file.txt")
text = f.read
if text =~ /string/ then
puts test
end
我想确定config / routes.rb中的“文档根”(路由)是什么
如果我打印字符串,它会打印文件.
我感到愚蠢,我不记得这是什么,但我需要知道.
希望我可以打印出来:
# Route is:
blah blah blah blah
File.open 'file.txt' do |file|
file.find { |line| line =~ /regexp/ }
end
这将返回与正则表达式匹配的第一行.如果您想要所有匹配的行,请将find
更改为find_all
.
它也更有效率.它一次迭代一行,而不将整个文件加载到内存中.
此外,可以使用grep
方法:
File.foreach('file.txt').grep /regexp/