ディレクトリリストのディレクトリ数の計算

ディレクトリリストのディレクトリ数の計算

私は多数のディレクトリを持っており、bashコマンドを使用して各ディレクトリのディレクトリ数を計算したいと思います。私は私が望むことをls達成するのに苦労しています。wc

たとえば、次のフォルダ構造がある場合(リーフフォルダにより多くのサブフォルダを含めることができます):

.
├── folder1
│   └── subfoldera
├── folder2
│   ├── subfoldera
│   └── subfolderb
├── folder3
│   ├── subfoldera
│   ├── subfolderb
│   └── subfolderc
└── folder4
    ├── subfoldera
    ├── subfolderb
    └── subfolderc

だから私はカウントをしたい

1
2
3
3

など。

ベストアンサー1

Bashと配列の使用:

dirs=(*/)                      # get all directories with globbing
                               # in current directory

for d in "${dirs[@]}"; do
  sub=("$d"*/)                 # get all subdirs in $d
  echo "${#sub[@]}"            # print number of array elements/subdirs
done

出力:

1
2
サム
サム

一行で:

dirs=(*/); for d in "${dirs[@]}"; do sub=("$d"*/); echo "${#sub[@]}"; done

おすすめ記事