CWD/가 지정된 현재 디렉터리의 폴더 수를 인쇄하고 싶습니다(재귀적으로 숨겨진 폴더 제외). 이 정보를 확인하기 위해 어떤 명령 또는 일련의 명령을 사용할 수 있습니까?
답변1
현재 작업 디렉터리에서 숨겨지지 않은 디렉터리의 수를 찾습니다.
ls -l | grep "^d" | wc -l
편집하다:
재귀적으로 만들려면 -R
다음 옵션을 사용하십시오 ls -l
.
ls -lR | grep "^d" | wc -l
답변2
GNU 영역에서:
find . -mindepth 1 -maxdepth 1 -type d -printf . | wc -c
다른 곳에서
find . -type d ! -name . -printf . -prune | wc -c
배쉬에서:
shopt -s dotglob
count=0
for dir in *; do
test -d "$dir" || continue
test . = "$dir" && continue
test .. = "$dir" && continue
((count++))
done
echo $count
답변3
답변4
존재하다 zsh
:
(){echo $#} *(N/)
재귀적으로:
(){echo $#} **/*(N/)
D
숨겨진 디렉터리 수도 계산하려면 glob 한정자를 추가하세요.
POSIX에 해당:
ls -p | grep -c /
(숨겨진 옵션 추가 -A
)ls
재귀적으로:
LC_ALL=C find .//. ! -name . \( -name '.*' -prune -o -type d -print \) |
grep -c //
또는
LC_ALL=C ls -Rqn . | grep -c '^d'
숨겨진 내용:
LC_ALL=C find .//. ! -name . -type d | grep -c //
또는:
LC_ALL=C ls -ARqn . | grep -c '^d'