정확히 10 자이고 3 개의 연속 모음의 하위 문자열을 포함하는 단어를 찾기 위해 GREP를 원합니다. 그리고 내가 노력하고 지금까지있어,GREP는 3 개의 연속 모음의 하위 문자열을 포함하는 단어를 찾고 길이는 정확히 10
(.*[aeiou]{3}.*){10}
그것은 제대로 일을 dosent. 그래서 누군가가 나를 도울 수 있다면 위대 할 것입니다. 고맙습니다. grep
와
정확히 10 자이고 3 개의 연속 모음의 하위 문자열을 포함하는 단어를 찾기 위해 GREP를 원합니다. 그리고 내가 노력하고 지금까지있어,GREP는 3 개의 연속 모음의 하위 문자열을 포함하는 단어를 찾고 길이는 정확히 10
(.*[aeiou]{3}.*){10}
그것은 제대로 일을 dosent. 그래서 누군가가 나를 도울 수 있다면 위대 할 것입니다. 고맙습니다. grep
와
당신은 사용할 수 있습니다
grep -E "[aeiou]{3}" | grep -E "^.{10}$"
또는 egrep
을 :
egrep "[aeiou]{3}" | egrep "^.{10}$"
awk
도 작동합니다 :
awk 'length == 10 && /[aouei]{3}/'
을 확인하십시오. awk 솔루션이 좋다. 'grep -E'와'egrep'은 실제로 똑같은 명령을 다르게 입력합니다. –
당신은 펄 정규 표현식 grep
을 사용할 수 있습니다 (-P
를) ~하기 위해서 positive lookahead
grep -P "(?=[a-z0-9]{10}$).*[aeiou]{3}.*" test.txt
그렙 옵션을 사용
-P, --perl-regexp PATTERN is a Perl regular expression
['grep -oP '\ b (? = \ w {10} \ b * \ w * [aeiou] {3} \ w * \ b''] (http : //ideone.com/hWnEK1) –