0

我在 SunOS 中创建了 3 个文件,其中 2 个的创建时间以毫秒为单位。第三个文件变化一秒钟。find <path> -newer似乎没有考虑毫秒。

bash-3.2$ touch -d 2012-11-20T12:59:00.1234 /tmp/abc.txt    
bash-3.2$ touch -d 2012-11-20T12:59:00.4567 /tmp/abc1.txt    
bash-3.2$ touch -d 2012-11-20T12:59:01.0000 /tmp/abc2.txt    
bash-3.2$ ls -lE /tmp/abc*    
-rw-r--r--   1 blahuser  root            0 2012-11-20 12:59:00.123400000 +0100 /tmp/abc.txt    
-rw-r--r--   1 blahuser  root            0 2012-11-20 12:59:00.456700000 +0100 /tmp/abc1.txt    
-rw-r--r--   1 blahuser  root            0 2012-11-20 12:59:01.000000000 +0100 /tmp/abc2.txt    

这里find /tmp -newer /tmp/abc.txt应该理想地显示/tmp/abc1.txt/tmp/abc2.txt但实际上它只输出/tmp/abc2.txt

bash-3.2$ find /tmp -type f -newer /tmp/abc.txt
/tmp/abc2.txt

是否还有其他选项find也需要考虑毫秒?

4

1 回答 1

3

恐怕答案是否定的。

即使是与 Solaris 捆绑的 GNU find 版本也只考虑整数秒。

您需要使用自定义代码来管理在同一秒内修改的文件,而不是参考文件。

于 2012-11-20T13:35:15.100 回答