如何找到今天创建并在 5 分钟之前随时修改的所有文件?

How to find all the files created today and modified anytime before 5 minutes?

假设现在是 10:00 am,当命令是 运行 时,我需要列出在午夜和 9:55 am 之间修改的文件。

我尝试了以下命令,根据文档看起来符合逻辑,但它从昨天开始提取所有文件。

-rw-r----- 1 anami anami 0 Jan 26 17:51 a
-rw-r----- 1 anami anami 0 Jan 26 18:18 b
-rw-r----- 1 anami anami 0 Jan 26 01:00 c
-rw-r----- 1 anami anami 0 Jan 25 10:00 d
-rw-r----- 1 anami anami 0 Jan 27 12:21 e
-rw-r----- 1 anami anami 0 Jan 27 12:52 f


$ find . -daystart -mmin +5

./a
./g
./d
./c
./e
./b
./f

由于 -daystart 不是那么便携,请考虑这样的解决方案;

  1. 使用$(date +"%H")to get the current hour,在你的测试用例中,这应该是10.

  2. 将该数字乘以 60 得到所需的 分钟

  3. 减去 5 分钟得到 00:00 和 09:55

    之间的分钟数
  4. 将该值用于 -mmin 参数

currentHour=$(date +"%H")
minutes=$(( 60 * currentHour - 5 ))
find . -mmin "-${minutes}" -mmin +5