Tente encontrar em um achado:
find . -type d -name "a*" -exec find {} -name "b" \;
A partir do diretório atual ( .
), o find procurará todos os diretórios que começam com a letra recursivamente. Para cada diretório encontrado, ele procurará dentro dele por um arquivo chamado b.
Se você quiser que ele olhe apenas nas pastas que começam com a e nenhum diretório nessas pastas a * , use maxdepth:
find . -type d -name "a*" -exec find {} -maxdepth 1 -name "b" \;
para se livrar de erros:
find . -type d -name "a*" 2> /dev/null -exec find {} -maxdepth 1 -name "b" \;