PROJECTS
|___ SITE1
| |____files (to exclude)
| |____img
| |____js
|
|___ SITE2
| |____files (to exclude)
| |____img
| |____js
|
|___ SITE3
|____files (to exclude)
|____img
|____js
你好,我想搜索地点x 个文件夹(不包括以下内容)文件文件夹。
我尝试了这个但它显示文件的权限错误文件文件夹(因此似乎没有排除它们):
find . ! -path "*/files/*" -type f -name 'foo'
它显示(我在 PROJECTS 目录中):
./SITE1/img/foo.png
./SITE1/js/foo.js
find: `./SITE1/files/201501': Permission denied
find: `./SITE1/files/201412': Permission denied
find: `./SITE1/files/201501': Permission denied
... (the two firsts matches are pretty good, but I break the execution after, it print too many indesirble matches)
我受到了这个回复的启发问库本图。
我也尝试了 -prune 选项,例如在这个例子中找不到解决方案……
我希望使用 egrep 进行与此搜索等效的操作,但针对的是文件名
egrep -Rns --exclude-dir=files 'foo' *
感谢您的帮助 !
答案1
OK完成 !
我不知道如何使用 prune 参数。这满足了我的需求
find * -path "*/files/*" -prune -o -name 'foo' -type f -print
更多解释这里
另一方面,我很好奇是否存在这样的语法!(不是)像这样的论点AskUbuntu 上的示例如果有人有想法。