请教大神们,我想在遍历出来的文件中查找制定字段,怎么获取到文件的路径呢(不是打印文件夹路径)?多谢!

CDKeykeykey 2016-10-23 03:37:03
def traverse(filepath, pattern)
if File.directory?(filepath)
puts "Dirs:" + filepath
Dir.foreach(filepath) do |filename|
if filename != "." and filename != ".."
traverse(filepath + "/" + filename)

file = File.open('C:\Users\hp\Desktop\hello.txt') #想在这边打开遍历出的文件(不是文件夹,是文件)
file.each_line do |line|
if pattern =~ line
print line
end
end
file.close
print i

end
end
else
puts "Files:" + filepath
puts if
end

end

pattern = Regexp.new('test')
i = 0
traverse("C:\Users\hp\Desktop", pattern)
...全文
5521 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
blackant2 2016-12-06
  • 打赏
  • 举报
回复
def traverse(filepath,reg) #尽可能少的嵌套,尽可能快的返回 return unless File.directory?(filepath) Dir.foreach(filepath) do |filename| next if %w(. ..).include?(filename) file = File.join(filepath,filename) return traverse(file,reg) if File.directory?(file) index=0 File.open(file).each_line do |line| index+=1 puts "#{file} line #{index} match : #{line}" if line =~ reg end end end traverse('/Users/anfeng/blackant/api5.zhuaou.com/sdk',/id/)
CDKeykeykey 2016-10-23
  • 打赏
  • 举报
回复
已解决,直接赋值,当时好蠢,连这个都没想到

2,763

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ruby/Rails
社区管理员
  • Ruby/Rails社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧