grep을 사용하여 연속으로 두 개 이상의 모음을 찾습니다.

grep을 사용하여 연속으로 두 개 이상의 모음을 찾습니다.

지금까지 나는 grep -E '[aeiou]{2}' /usr/share/dict/american-english2개의 모음을 사용하고 있지만 "tooth", "beer" 등과 같은 연속 모음만 사용하고 싶습니다.

그래서 모음이 있는 단어를 얻기 위해 grep을 사용하고 싶지만 해당 모음 뒤에 동일한 모음이 오는 경우에만 가능합니다. 예를 들어, 치아를 찾고 싶고 첫 번째 문자를 찾는 명령을 작성할 수 있는지 확인 하고 다음 문자가 . o인지 확인하고 싶습니다. o이것이 더 명확해지지 않습니까?

내가 무엇을 놓치고 있나요?

답변1

노력하다:

grep -E '([aeiou])\1' infile

\1괄호를 사용하여 첫 번째 그룹의 역참조로 액세스되는 그룹 일치를 캡처합니다(그룹이 더 많으면 \2두 번째 그룹이 허용되는 식입니다 \9). 따라서 모든 단일 모음 문자가 일치하고 (....)(즉, , 또는 중 하나와 일치함 [aeiou]) 중복되는지 확인합니다.aeiou\1

관련 정보