Para estender comentário do mosvy com esclarecimentos da roaima , eu sugiro:
echo [aeiou]?*[0-9]/
Isso usa recursos de expansão de nome de arquivo (globbing) para atender aos seus requisitos para:
- um diretório ou link simbólico para o diretório (a barra à direita
/
) - que começa com uma vogal em minúsculas em inglês (
[aeiou]
) - contém pelo menos um caractere adicional (
?
) - e tem pelo menos três caracteres (
*
corresponderá a zero ou mais caracteres, somando-se aos dois que já correspondemos e ao que corresponderemos no final, abaixo) - termina com um dígito decimal (
[0-9]
)
Seu shell expande todos os nomes de diretórios correspondentes e os transmite para echo
, o que simplesmente os ecoa.
Note, porém, que com alguns shells incluindo bash
, se houver nenhum diretórios correspondentes aos requisitos, seu shell deixará o padrão sozinho e passará diretamente para echo
, o que será novamente ecoar, resultando nesta saída:
[aeiou]?*[0-9]/
Você pode ajustar isso um pouco no bash, definindo a opção "nullglob", que diz ao bash que quando não há correspondências (nulas) (globs), remove o padrão, nesse caso nada seria passado para echo
, que então seria apenas imprimir uma linha em branco. Ou use a opção failglob
para a falha na glob para acionar um erro.