假设创建一个文件如下:
$ touch -d "00:00:00 today" stamp
为什么下面的命令找不到呢?
$ find -type f -daystart -mtime 0
以下命令确实找到了这个文件
$ find -type f -daystart -mtime -1
假设创建一个文件如下:
$ touch -d "00:00:00 today" stamp
为什么下面的命令找不到呢?
$ find -type f -daystart -mtime 0
以下命令确实找到了这个文件
$ find -type f -daystart -mtime -1
它看起来像一个错误。如果你添加一个非零时间的文件,比如说
$ touch -d "00:00:00.01 today" 戳
它可以按您的预期工作。
从我自己的实验来看,Joakim 是对的——至少对于 mmin 而言。从明天开始,daystart 似乎是相对的。
ls -l stamp*
-rw-r--r-- 1 me me 0 Jun 7 00:01 stamp
-rw-r--r-- 1 me me 0 Jun 7 16:38 stamp2
-rw-r--r-- 1 me me 0 Jun 7 16:55 stamp3
注意 stamp3 在 16:55 的位置
60*16 + 55 = 1015
1440(一天)- 1015 = 425
find . -type f -daystart -mmin -425
./stamp3
让我们也赶上stamp2
1440 - 60*16 - 38 = 442
find . -type f -daystart -mmin -442
./stamp2
./stamp3
现在,如果我想从一段时间内捕获文件,我可以执行以下操作:
find . -type f -daystart -mmin -1439 -mmin +425
./stamp2
看起来(至少在我的机器上)find -daystart
实际上搜索相对于明天的开始。
当我运行时,我找到了该文件find -daystart -mtime 1
以及find -daystart -mmin -1441
(60*24=1440) 但不是find -daystart -mmin -1440
. 我实际上也可以使用与 1441 的完全匹配来找到它,find -daystart -mmin 1441