Você poderia tentar isso, para obter os nomes dos subdiretórios e o número de arquivos / diretórios que eles contêm:
find . -maxdepth 1 -type d -exec bash -c "echo -ne '{} '; ls '{}' | wc -l" \;
Se você quiser fazer o mesmo para todos os sub-diretórios (busca recursiva) use isto:
find . -type d -exec bash -c "echo -ne '{} '; ls '{}' | wc -l" \;
Para selecionar os diretórios com exatamente 10 arquivos:
find . -maxdepth 1 -type d -exec bash -c "echo -ne '{} '; ls '{}' | wc -l" \; |
awk '$NF==10'
10 ou mais:
find . -maxdepth 1 -type d -exec bash -c "echo -ne '{} '; ls '{}' | wc -l" \; |
awk '$NF>=10'
10 ou menos:
find . -maxdepth 1 -type d -exec bash -c "echo -ne '{} '; ls '{}' | wc -l" \; |
awk '$NF<=10'
Se você quiser manter apenas o nome do diretório (por exemplo, você quer canalizá-lo para outro processo a jusante como @evilsoup sugerido), você pode usar isto:
find . -maxdepth 1 -type d -exec bash -c "echo -ne '{}\t'; ls '{}' | wc -l" \; |
awk -F"\t" '$NF<=10{print $1}'