我希望使用以下命令在“ / app / test”目录下找到除“ / tmp”和“ logs”开头的文件夹以外的所有文件和文件夹。 prune
因此,我尝试了以下命令。
find /app/test -type d \( ! -name logs* \) -o \( ! -name log \) -o \( ! -name tmp* \) -o
\( ! -name tmp \) -prune | tee /tmp/findall.log
但是我发现查找结果中包含顶部文件夹,如下所示:
/app/test/Admin/tmp/data/pm.trp
/app/test/Admin/tmp/wond/iqc.log
etc ...
你能建议吗?
除了不引用包含文件名通配符的单词之外,您还颠倒了所有-name
测试的含义,从而导致从搜索树中删除与这些名称和模式不匹配的名称。
反而:
find /app/test -type d \
\( -name 'logs*' -o -name log -o -name 'tmp*' -o -name tmp \) -prune -o \
-print | tee /tmp/findall.log
在-prune
没有的情况下-print
,测试仍会打印出与该点匹配的事物的路径名。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句