查找,舍入和daystart

时间:2012-11-08 10:03:49

标签: linux unix gnu-coreutils

假设文件创建如下:

$ touch -d "00:00:00 today" stamp

为什么以下命令找不到它?

$ find -type f -daystart -mtime 0

以下命令确实找到此文件

$ find -type f -daystart -mtime -1

3 个答案:

答案 0 :(得分:1)

它看起来像一个bug。如果添加非零时间的文件,请说

  

$ touch -d“00:00:00.01今天”盖章

它按预期工作。

答案 1 :(得分:1)

从我自己的实验来看,看起来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

让我们抓住邮票2

1440 - 60 * 16 - 38 = 442

find . -type f -daystart -mmin -442
./stamp2
./stamp3

现在如果我想从一系列时间捕获文件,我可以这样做:

find . -type f -daystart -mmin -1439 -mmin +425
./stamp2

答案 2 :(得分:0)

似乎(至少在我的机器上)find -daystart实际上相对于明天的开始进行搜索。

我在运行find -daystart -mtime 1以及find -daystart -mmin -1441(60 * 24 = 1440)而不是find -daystart -mmin -1440时找到该文件。我实际上可以使用与1441的精确匹配找到它,find -daystart -mmin 1441