过滤包含带有两个元音(grep)的单词的所有行?

时间:2014-03-17 16:58:10

标签: regex linux grep

我想使用grep对包含任意两个元音的文件中的所有行进行排序。 例如,如果我有下一个文件

aab aeb baaa
eg gefee xxe
xx a axa

我想只保留前两行,因为它们包含2个元音。我无法为此找出正确的正则表达式。它应该适用于任何组合(aa,ae,ai,ao,..,ee等)

2 个答案:

答案 0 :(得分:2)

根据您的语言中哪些字母计为元音,类似

[aeiou][aeiou]

如果你有有时只有声音的字素(比如英语中的 y - &#34中的元音;尝试"但是&#34中的辅音;然而")你需要一些更复杂的东西;从你的例子来看,看起来这可能就足够了。

答案 1 :(得分:0)

对于您示例中的数据集,以下grep命令将为您提供所需的结果:

grep -e ".*[aeiou][aeiou].*" foo.txt
aab aeb baaa
eg gefee xxe