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'