Ruby:查找最近修改的文件

Posted

技术标签:

【中文标题】Ruby:查找最近修改的文件【英文标题】:Ruby: Finding most recently modified file 【发布时间】:2011-06-16 22:44:54 【问题描述】:

在目录中查找最近修改的文件的惯用方法是什么?

【问题讨论】:

【参考方案1】:
Dir.glob("*").max_by |f| File.mtime(f)

【讨论】:

漂亮的解决方案。谢谢。 Dir.glob("/path/to/search/**/*.*").max_by |f| File.mtime(f) @WiredIn 的评论将结果减少为其中有句点的文件(仅限具有扩展名的文件)。请参阅以下内容以了解包含“隐藏”点文件...***.com/questions/11385795/…【参考方案2】:

我不确定这是否真的有成语。我会做的

Dir["*"].sort_by  |file_name| File.stat(file_name).mtime 

编辑

看看三个人如何同时给出或多或少相同的答案。一定是这个。

【讨论】:

投反对票,因为这没有回答 OP 的问题(返回排序的时间列表而不是最近的时间)。它也没有其他两个答案那么简洁。【参考方案3】:
Dir["*"].sort  |a,b| File.mtime(a) <=> File.mtime(b) .last

这不是递归的。

【讨论】:

以上是关于Ruby:查找最近修改的文件的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统下用find命令查找最近修改过的文件

atime mtime ctime 查找最近修改的文件

linux如何查看最近修改的文件

Find命令查找最近几天修改的文件

查找所有最近修改的文件

查找最近24小时内修改的文件