如何排除文件夹名称而不考虑 bash 中的路径?

如何排除文件夹名称而不考虑 bash 中的路径?

我试图排除文件夹中的文件搜索。实际上效果还是比较好的。

我的代码如下所示: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

相关内容