Seu uso de ls e grep está correto, o que irá encontrar qualquer resultado na saída ls contendo 'stomething'. Note que olha para toda a linha, não apenas o nome do arquivo (principalmente aplicável ao usar certos sinalizadores com ls, como ls -l etc).
Encontrando diretórios, é melhor usar o find e o wc (wordcount):
find /home/mydir -maxdepth 1 -mindepth 1 -type d | wc -l
Explicação:
- maxdepth 1, conte até uma profundidade máxima na árvore de 1 (por exemplo, somente dirs, não subdircuitos neste caso)
- mindepth 1, usado basicamente nesse exemplo para garantir que o find não encontre "." Além disso.
- digite d, procure por diretórios (-tipo f encontrará arquivos, l encontrará links suaves etc)
- wc -l, conta as linhas retornadas
Se você executar isso sem o pipe para wc, você obterá uma lista de todos os resultados. Encontrar é um comando muito prático para se familiarizar.