ls 项目中的所有 python 文件,迁移文件夹中的文件除外

ls 项目中的所有 python 文件,迁移文件夹中的文件除外

我有一个 Django 项目。我可以列出它的所有 python 文件,ls **/**/**.py如何忽略迁移文件夹中的文件?

答案1

find命令解决方案:

find . -mindepth 2 -type f -name "*.py" ! -path "*/migrations/*" ! -path "*/.*/*"

答案2

find . -type d -name 'migrations' -prune -o -type f -name '*.py'

这将首先检查当前路径名以查看它是否是目录,如果是,则其名称是否为migrations.如果也是如此,则使用 将该目录从搜索列表中删除-prune。然后它继续查找名称以 结尾的文件,.py并输出所有这些文件的路径名。

这样,migrations就不会输入任何目录find

答案3

我最终只是用 grep 排除了它:

ls **/**/**.py | grep -v /migrations/

这工作很快。

相关内容