Как я могу написать команду egrep, которая найдет все записи, имеющие как минимум 5 последовательных гласных (aeiou) в верхнем или нижнем регистре? - PullRequest
0 голосов
/ 18 февраля 2020

Я ищу ответ, который не включает опцию -i, чтобы получить как верхний, так и нижний регистр. В частности, как заставить само регулярное выражение выводить такую ​​строку.

Я также не хочу, чтобы он возвращал какие-либо другие строки за пределами последовательного "aeiou". Например, я хочу видеть:

aeiou AEIOU AeIou daeiou aeioud

et c.

Я не хочу видеть: AAAAA aeiou AEIOU AeIou daeiou aeioud AEEOD EEEEE eaeee

, когда я выполняю grep -E '[aeiou-AEIOU] {5,}, он все еще дает мне дополнительные строки, подобные приведенным выше, которые я не хочу видеть. Есть идеи ??

1 Ответ

0 голосов
/ 18 февраля 2020

Если вы не можете использовать -i, такие вещи, как [aA], вместо этого будут соответствовать версии конкретной буквы в верхнем или нижнем регистре:

grep '[aA][eE][iI][oO][uU]' <<< '"AEIOU" "aEioU" "daeiou" "aeiouF"'

Прекрасно работает с basi c регулярные выражения, не нужно расширяться (что, кстати, следует использовать через grep -E, а не через egrep).

...