我试图排除文件夹中的文件搜索。实际上效果还是比较好的。
我的代码如下所示:find . -type d -regextype posix-extended -regex "(./Scripts/testfolder)" -prune -o -type f -print
然而,我的问题是,我想排除所有出现的文件夹名称,无论路径如何。基本上我想删除./脚本/部分并忽略 testfolder 文件夹,无论它在哪里。可以通过改进正则表达式来实现吗?
当我运行: 时find . -type d -regextype posix-extended -regex "(testfolder)" -prune -o -type f -print
,将输入文件夹并获取文件。
答案1
您需要意识到,-name
中的选项find
实际上指的是basename
所引用的相关对象的 。因此,我们可以按名称查找目录,然后修剪它:
find . -type d -name 'testfolder' -prune -o -type f -print