我可以用
find . -mmin -5
Run Code Online (Sandbox Code Playgroud)
查找最近 5 分钟内更改的文件。但是,如果我尝试通过提供负数来查找将来具有修改时间的文件,则find拒绝这样做:
find . -mmin --1
Run Code Online (Sandbox Code Playgroud)
有没有办法为标准 Linux 提供未来的修改时间find?
要查找未来至少 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. 创建具有正确日期的参考文件作为练习留给读者(总是便于编写)。