使用较新选项的find命令在毫秒级别不起作用

时间:2012-11-20 07:55:48

标签: bash find solaris sunos

我在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是否还有其他选项需要考虑毫秒?

1 个答案:

答案 0 :(得分:3)

我担心答案是否定的。

即使与Solaris捆绑在一起的GNU find发行版也只占用整数秒。

您需要使用自定义代码来管理在参考文件之后修改的文件。