使用find -mmin查找将来具有修改时间的文件


9

我可以用

find . -mmin -5

查找最近5分钟内更改的文件。但是,如果以后尝试通过给负数查找具有修改时间的文件,则find拒绝这样做:

find . -mmin --1

有没有办法给标准Linux将来的修改时间find

Answers:


9

要查找至少在未来5天修改过的文件,请使用:

find . -newermt "5 days"

时间规范的语法与对应date -d。有关更多man find信息,请参阅有关名为的交换机的-newerXY信息。

无法使用例如-mmin执行此操作。据报告,它是针对GNU find的错误,如上所示,通过-newerXY在findutils 4.3.3(〜2007)中实现来解决。


显然不是使用GNU查找而是使用BusyBox。

然后,您应该能够创建一个带有touch -d和日期的将来的临时文件,然后将-newer开关用于find

touch -d "+5 days" tmpfile
find . -newer tmpfile

BusyBox touch不支持该日期格式,但是原理相同并且find支持-newer。创建具有正确日期的参考文件留给读者练习(总是很方便编写)。


谢谢。我的问题是我的查找是旧的嵌入式BusyBox查找,而不是binutil查找。显然,标准linux方式在这里不起作用。:(
Muxecoid 2012年

@Muxecoid:我用一些BusyBox的评论更新了我的答案。
丹尼尔·安德森

这只是在新机器上为我省去了麻烦,因为我在新机器上意外地做了未来十个小时的工作(时区偏移量应用于已经偏移的硬件时钟),并且在修复时钟后,configure脚本抱怨未来的事情(一个半小时左右的时间):find . -newermt '1 hour' | xargs touch -d '-9 hours'我可以继续。:-)
克里斯·摩根
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.