查找晚于 15 秒但早于 2 秒的文件

查找晚于 15 秒但早于 2 秒的文件

我想查找晚于 15 秒但早于 2 秒的文件。这是我当前正在使用的脚本,它可以抓取 15 秒内更新的文件:

find /my/directory -name '*.jpg' -not -newermt '-15 seconds'

任何帮助是极大的赞赏

答案1

您可以通过链接多个谓词来组合它们。

没有-oldermt,但你可以将其写为-not -newermt

你要:

  • -newermt '-15 seconds'表示该文件的创建时间不到 15 秒,并且
  • -not -newermt '-2 seconds'表示文件已存在超过 2 秒

尝试:

find /my/directory -newermt '-15 seconds' -not -newermt '-2 seconds'

或者,为了符合 POSIX 标准:

find /my/directory -newermt '-15 seconds' \! -newermt '-2 seconds'

另外,正如您(和其他读者)所知,“较新”意味着最近修改过,而不是最近创建过。

答案2

你没有提到你的操作系统......

这对于现代 find 实现(例如 FreeBSD 或sfind.

find /my/directory -name '*.jpg' -mtime -15s -mtime +2s

Sfind 是 Schily 工具的一部分:http://sourceforge.net/projects/schilytools/files/

警告:我刚刚发现sfind.如果-mtime参数小于 60 秒,则它将无法正常工作,因为当前的文件时间与最初为 的年份切换计算的未来 60 秒的时间戳进行比较-ls

BTW:-not不属于find,它是一个不可移植的 GNUism。

相关内容