到目前为止我正在使用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]
之一),我们检查它是否重复。a
e
i
o
u
\1