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를 반환하고 현재 경로 이름을 인쇄하므로 기본값은 cancelled -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
그런 다음 두 피연산자의 결과에서 집계를 얻을 수 있습니다.