【发布时间】:2016-09-26 05:17:39
【问题描述】:
我发现了这篇关于使用 bash 的帖子
How to recursively find the latest modified file in a directory?(使用 bash)
但是我需要用 ruby 编写这个,我有一个名为“活动”的网络文件夹的场景,有很多子目录,每个子目录都有子目录,子目录有子目录等等。我需要返回 lvl1 目录中包含的最新修改文件的日期,该目录隐藏在其许多子目录中的某处。
---------------------------
active | lvl1 | lvl2 | lvl3
| | | lvl3
| | lvl2 |
| | lvl2 |
| | lvl2 |
| lvl1 | |
---------------------------
使用我目前拥有的内容进行编辑,这对于返回文件名非常有用,但是我坚持在每个文件出现时存储 File.mtime() 的位置,我需要确定需要归档哪个 lvl1 文件夹:
def walk(start)
Dir.foreach(start) do |x|
path = File.join(start, x)
if x == "." or x == ".."
next
elsif File.directory?(path)
walk(path)
else
puts x
end
end
end
path = 'folder\\path'
walk(path)
【问题讨论】:
-
主要任务是如何下降。一旦您决定如何执行此操作,就很容易跟踪最新文件的使用期限。小心递归下降,因为在大目录上可能需要一段时间;由于权衡,在您确定一种方法之前,应该探索链接页面上的所有各种方法。请阅读“How to Ask”。我们需要看到您为解决问题所做的努力。问我们如何做某事还为时过早;您应该先研究和尝试,然后向我们展示您的尝试。
-
我编辑了我原来的问题
标签: ruby