读取目录中的每个文件中的关键字

时间:2018-12-03 19:21:08

标签: ruby

当前,我正在尝试学习如何读取目录中的每个文件并寻找诸如“得分”之类的固定关键字

这里是我到目前为止所得到的

    File.open("C:/Users/Cam/Desktop/Warmup/Warmup_scores", "r") do |f|
  f.each_line do |line|
    if line.include? "Score" 
        puts line
    end
  end
end

这适用于单个文件,但尝试使其适用于整个目录有点棘手,有帮助吗?

1 个答案:

答案 0 :(得分:1)

尝试这种方式。 https://ruby-doc.org/core-2.4.0/Dir.html

Dir["C:/Users/Cam/Desktop/Warmup/*"].each do |filename|
  File.open(filename) do |f|
    f.each_line do |line|
      if line.include? "Score" 
        puts line
      end
    end
  end
end

您甚至可以在子目录中搜索

Dir["C:/Users/Cam/Desktop/Warmup/**/*"]

或特定模式

Dir["C:/Users/Cam/Desktop/Warmup/*.txt"]