Answers:
您混淆了两个名称几乎相似的不相关选项:
-depth
没有任何论点。如果存在,它将告诉find
您在处理目录本身之前先处理目录的内容。-maxdepth N
(其中N是整数)将递归限制为N级子目录。该-maxdepth
选项是在的某些版本中找到的扩展find
,但在Solaris的某些版本中找不到。有一个技巧,仅使用标准选项来find
处理目录而不递归:-prune
在子目录上使用,但排除顶层目录。因为匹配顶级目录的唯一方法是按名称,所以将名称安排为.
(永远不会是子目录的名称)。
find /directory/to/traverse/. -name . -o \
-type d -prune -o \
-name '*.log' -print
-mindepth
并且-maxdepth
消失了。如果发现有问题-maxdepth
,请使用find /directory/to/traverse -mindepth 1 -maxdepth 1 -name '*.log'