2017-04-26 17 views
-1

我希望GREP能夠找到長度恰好爲10個字符幷包含3個連續元音子串的單詞。 ,我嘗試和得到這個至今,GREP找到的單詞包含3個連續元音的子字符串,長度恰好爲10

(.*[aeiou]{3}.*){10} 

它正確dosent工作。所以如果有人能幫我解決這個問題會很好。謝謝。

+1

檢查['grep -oP'\ b(?= \ w {10} \ b)\ w * [aeiou] {3} \ w * \ b''](http://ideone.com/hWnEK1) –

回答

1

隨着grep你可以使用:

grep -E "[aeiou]{3}" | grep -E "^.{10}$" 

egrep

egrep "[aeiou]{3}" | egrep "^.{10}$" 

awk也應努力:

awk 'length == 10 && /[aouei]{3}/' 
+0

awk解決方案很好。 'grep -E'和'egrep'實際上是相同的命令。 –

0

您可以使用grep與Perl的正則表達式(-P)爲了 使用positive lookahead

grep -P "(?=[a-z0-9]{10}$).*[aeiou]{3}.*" test.txt 

grep的選項:

-P, --perl-regexp   PATTERN is a Perl regular expression 

enter image description here


Regex Demo

相關問題