首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >find的剪枝的-path没有使用通配符

find的剪枝的-path没有使用通配符
EN

Unix & Linux用户
提问于 2017-12-27 10:49:05
回答 1查看 792关注 0票数 0

我想从查找搜索树中排除一个目录。.aaa是当前目录中隐藏的子目录.我想排除aaa_rc_bbb, xxx_rc_xxx和更多包含rc的子目录。但是它仍然没有忽略并给出包含rc子目录的结果。就好像*rc*通配符不起作用一样。

find -L /students/projects/myname/ -name .aaa -prune -o -path */*/class_project/*/*/pikachu/*/*/*rc*/ -prune -o -path */*/class_project/*/*/pikachu/*/*/bambi/b‌​ambi.txt | head -n50 | xargs ls

另外,我希望查找仅在此路径中搜索:*/*/class_project/*/*/pikachu/*/*/bambi/b‌​ambi.txt

请帮帮我。我做错什么了吗?

EN

回答 1

Unix & Linux用户

发布于 2018-06-23 11:25:26

您的-path模式以斜杠结尾。find检查的任何路径名都不会以斜杠结尾,因此模式将永远不会匹配任何内容。

若要修剪任何名为.aaa的目录和名称为rc的任何目录,请执行以下操作:

代码语言:javascript
复制
find -L /students/projects/myname \
    -type d '(' -name '.aaa' -o -name '*rc*' ')' -prune -o -print

只查看路径*/*/class_project/*/*/pikachu/*/*/bambi/b‌​ambi.txt

代码语言:javascript
复制
find -L /students/projects/myname \
    -type d '(' -name '.aaa' -o -name '*rc*' ')' -prune -o \
    -path '*/*/class_project/*/*/pikachu/*/*/bambi/b‌​ambi.txt' -print

这假定bambi.txt位于

代码语言:javascript
复制
/students/projects/myname/*/*/class_project/*/*/pikachu/*/*/bambi/b‌​ambi.txt

注意find命令中对模式的引用。如果没有引号,shell将尝试在调用find之前将模式扩展到路径名列表,这可能会导致混淆find,或者导致某些shell出现错误。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/413245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档