Para exibir somente as cinco vogais, use a opção -o
.
O comutador -E
permite usar chaves diretamente (sem escape).
Para insensibilidade a maiúsculas e minúsculas você usa a opção -i
.
Então, por exemplo.
echo "AKAAJEJEaeiooXXX" | grep -Eio '[aeiou]{5}'
exibirá Eaeio. Sem o comutador -o, toda a linha será gerada.
Se você quiser exibir a linha apenas se ela contiver 5 vogais (ou seja, não seis), é um pouco mais complicado; você precisa especificar que as cinco vogais não devem tocar outras vogais. E administre os casos de fronteira onde eles tocam o começo ou o fim da linha.
grep -Ei '([^aeiou]|^)[aeiou]{5}([^aeiou]|$)'
Isso evita o uso da opção -o, já que a borda "não correspondente" agora faz parte do padrão encontrado. Você pode usar o switch e usar um pipe para um segundo grep com cinco vogais apenas para refinar ainda mais a saída.