Pessoalmente, eu diria que o comando find é o caminho a seguir.
A abordagem ls -d
tem dois problemas agora:
- Mostra um erro nos diretórios vazios.
- Imprime barras finais.
Ambos são consertáveis. tr pode cuidar das barras, e você precisa de redirecionamento para se livrar de mensagens de erro :
( ls -d */ | tr -d / > /dev/tty ) > & /dev/null
Veja man tcsh para mais informações.