我正在尝试使用ruby脚本在我的unix系统上的所有目录中搜索某种文件类型。我理解以下代码将搜索当前目录中以.pdf结尾的所有文件:
my_pdfs = Dir['*pdf']
以及:
my_pdfs = Dir.glob('*.pdf').each do |f|
puts f
end
但是如何在所有目录和子目录中搜索扩展名为.pdf的文件呢?
答案 0 :(得分:4)
查看Find
模块:
http://www.ruby-doc.org/stdlib-1.9.3/libdoc/find/rdoc/Find.html
使用Dir.glob不太理想,因为globbing几乎不像find那样处理递归。
此外,如果您在* nix框中,请尝试使用find
命令。它非常适用于一个衬垫。
答案 1 :(得分:1)
可能是这样的:
pdfs=Dir['/**/*.pdf']
现在不使用Linux,所以不知道是否可行。 **
语法意味着递归列表。