То, что вы даете, это grep для строк, которые в точности равны 1 заглавной гласной.
Попробуйте это:
<cmd> | grep '[AEIOU]$' | grep '^[AEIOU]'
Я уверен, что это можно сделать с помощью одного grep, но я не очень хорошо знаю grep unix. Если регулярное выражение похоже на perl, оно будет равно
<cmd> | grep '^[AEIOU](.*[AEIOU])?$'