2016-02-12 55 views
0

給定一個txt文件,如何使用grep找到包含至少5次使用正則表達式的相同元音的行?grep找到一行中具有相同元音的詞

我想:

egrep '[aeiou]{5,}\1' file 

,但它不工作。

+1

你想找到**行**,其中包含至少5次相同的元音或找到**文字**至少5次相同的元音? – Cyrus

+0

找到該行 – Amber

回答

1

一個想法是匹配一個元音後跟anything,並預計這種模式至少5次。因此,對於單獨a,這將是:

egrep '(a.*){5,}' $FILE 

重複使用|性格,就像每個元音:

egrep '(a.*){5,}|(e.*){5,} <and so on>' $FILE 

有可能是一個更好的解決方案,例如壓縮所有這些管道( |),但我現在想不出任何。

+1

是的,這工作!謝謝 – Amber

2

對於測試文件看起來像這樣

aeiou 
a1a2a3a4a5 
e1e2e3e4e5 
aaa 

,我們要匹配的二,三線,你可以使用

$ grep -E '([aeiou]).*(\1.*){4}' infile 
a1a2a3a4a5 
e1e2e3e4e5 

此相匹配,並且抓住任何一個元音字母,然後查找四個相同的元音,用可選字符填充。

相關問題