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

나는 결국 그것을 greping했습니다.

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

이것은 빠르게 작동합니다.

관련 정보