Ruby grep,匹配并返回

标签 ruby grep

有没有办法检查文件中是否存在某个值,而不必总是遍历整个文件?

目前我使用:

if open('file.txt').grep(/value/).length > 0
  puts "match"
else 
  puts "no match"
end

但是效率不高,因为我只想知道它是否存在。非常感谢使用 grep/其他类似单行代码的解决方案。

在否决我的问题之前请注意“始终”

最佳答案

如果您想使用单行代码进行逐行比较:

matches = open('file.txt') { |f| f.lines.find { |line| line.include?("value") } }
puts matches ? "yes" : "naaw"

关于Ruby grep,匹配并返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7386592/

相关文章:

ruby-on-rails - Instagram Omniauth on Rails invalid_credentials

regex - grep - 匹配文件中带有前导空格的路径

linux - 从 Linux 控制台的输出中提取字符串

每个 Ruby,根据索引执行不同的操作,具有模式?

ruby- method_missing 返回无方法错误

ruby-on-rails - Rails DateTime - NoMethodError(未定义方法 `[]' 为 nil :NilClass)

ruby-on-rails - 如何解析包含多行数据并按数值组织的文本文件,然后转换为 JSON

linux - 在 .zshrc : No such file or directory 中使用 grep 命令

linux - grep 和 tee 以识别安装期间的错误

grep 与 --include 和 --exclude