a função que você está procurando é wc
(contagem de palavras) com a opção -l para contar linhas (ou seja, a letra l não é o número um).
No entanto, você não precisa encontrar essa tarefa. Uma maneira muito mais fácil de fazer o que você quer é isso:
TotalDir=$( ls -1d */ | wc -l )
observe que é o número um após ls
e a letra l após wc
.
Editar: resumindo a discussão nos comentários abaixo, aqui está um pouco mais de explicação de como essa solução funciona:
-
-1
informals
para usar apenas uma coluna, o que garante que obtenhamos realmente uma linha por subdiretório -
-d
informals
para listar apenas diretórios e não seus conteúdos (apenas tente ls * / com e sem o -d para ver a diferença. -
*/
informals
para listar todos os diretórios abaixo do atual./path/to/ParentDirectory/*/
dirials
para listar todos os diretórios abaixo de/path/to/ParentDirectory/
- finalmente,
wc -l
conta as linhas da saída do comandols
que --com os parâmetros explicados acima-- é exatamente o número de subdiretórios.