我有一个 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/
这工作很快。