0:root@SERVER:/tmp # find /tmp/foo* -mtime +74 -ls | wc -l
1330
0:root@SERVER:/tmp # find /tmp/foo* -ls -mtime +74 | wc -l
1750
0:root@SERVER:/tmp # oslevel -s
6100-09-04-1441
0:root@SERVER:/tmp # uname
AIX
0:root@SERVER:/tmp #
问题:为什么 find 没有给出相同的输出?
答案1
因为你使用了-ls
操作数,find
立即返回 true 并打印当前路径名,因此取消了 default -print
,之后没有任何操作-mtime +74
,没有任何效果:
-ls Always evaluates to the value True. Causes the current path name
to be printed together with its associated statistics
如果你这样做:
find . -ls -mtime +74 -print
然后你就可以从两个操作数的结果中得到聚合。