다음과 같은 문제가 있습니다. 디렉터리당 마이그레이션된 파일 수를 계산하고 싶습니다.
내 구조는 항상 다음과 같습니다.
/some/path/app1/migrations/0001_hello_world.py
/some/path/app2/migrations/0001_foo.py
/some/path/app2/migrations/0002_bar.py
나에게 필요한 것은 쉘 스크립트입니다. 가장 좋은 경우에는 다음 결과를 얻기 위한 한 줄 스크립트입니다.
app1: 1
app2: 2
그래서 응용 프로그램 디렉터리당 파일 수를 얻습니다.
내 파일 목록을 얻었습니다.
git diff --color --name-only --diff-filter=A origin/develop my-branch | grep "\/migrations\/[0-9]"
일치하는 항목을 모두 셀 수 wc -l
는 있지만 디렉터리를 모두 셀 수는 없습니다.
불행히도 Google과 Stack을 사용해도 막혔습니다.
이 주제에 대한 생각이 있나요?
답변1
노력하다,
git diff --color --name-only --diff-filter=A origin/develop my-branch \
| grep '/migrations/[0-9]' \
| cut -d/ -f4 \
| sort \
| uniq -c
필요에 따라 (여기: )의 필드 번호를 조정합니다 cut
.4
산출:
2 app1
1 app2
답변2
이것은 작동합니다:
$ for folder in *; do echo "$folder: "; \
find ./$folder -type f | wc -l; done | grep -A 1 "some/path/"`