使用 grep 查找连续的两个或多个元音

使用 grep 查找连续的两个或多个元音

到目前为止我正在使用grep -E '[aeiou]{2}' /usr/share/dict/american-english.这给了我两个元音,但我希望它们只是连续的元音,比如“tooth”、“beer”等。

所以我想使用 grep 来获取带有元音的单词,但前提是该元音后面跟着相同的元音。就像,我想找到牙齿,我想看看是否可以编写一个命令来查找第一个字符o并查看下一个字符是 a o。这样是不是更清楚了?

我缺少什么?

答案1

尝试:

grep -E '([aeiou])\1' infile

\1使用括号,我们捕获一个组匹配,其中它们由第一组的反向引用访问(如果有更多组,则允许\2第二组,依此类推\9)。因此,任何单个元音字符都会被匹配(....)(意味着匹配、、或[aeiou]之一),我们检查它是否重复。aeiou\1

相关内容