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

Mux*_*oid 9 linux time find

我可以用

find . -mmin -5
Run Code Online (Sandbox Code Playgroud)

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

find . -mmin --1
Run Code Online (Sandbox Code Playgroud)

有没有办法为标准 Linux 提供未来的修改时间find

Dan*_*son 9

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

find . -newermt "5 days"
Run Code Online (Sandbox Code Playgroud)

时间规范的语法与 for 的语法相对应date -d。有关man find详细信息,请参阅有关已命名的开关的-newerXY信息。

不可能使用 eg-mmin来做到这一点。它被报告为针对 GNU find 的错误,并通过-newerXY在 findutils 4.3.3 (~2007) 中实现解决,如我上面所示。


显然,使用的不是 GNU find,而是 BusyBox。

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

touch -d "+5 days" tmpfile
find . -newer tmpfile
Run Code Online (Sandbox Code Playgroud)

BusyBoxtouch不支持那个日期格式,但原理是一样的,它find支持-newer. 创建具有正确日期的参考文件作为练习留给读者(总是便于编写)。