grep을 사용하여 단어에서 여러 개의 반복 문자 찾기

grep을 사용하여 단어에서 여러 개의 반복 문자 찾기

"in"이라는 글자가 세 번 반복되는 "interlinking"과 같은 단어가 있습니다. grep을 사용하여 한 단어에서 두 글자가 세 번 반복되는 다른 단어를 찾기 위해 Dictionary.txt 파일을 검색하는 방법(예: "priestesses"에는 두 문자 "es"가 세 번 포함되어 있음)

답변1

역참조가 필요합니다!

이미 일치된 항목을 참조하여 다시 일치시키려는 경우 역참조를 사용하세요.

grep '\(..\)\(.*\1\)\{<n - 1>\}' <file>
  • .*모든 문자 시퀀스와 일치합니다.
  • \(..\)두 문자를 일치시키고 캡처합니다.
  • \1첫 번째 캡처링 그룹과 일치합니다(이 경우 \(..\)시작 부분에 가까운 그룹).

<n - 1>대체 시퀀스의 길이를 1만큼 줄이고 이를 <file>찾고 있는 파일 이름으로 바꾸십시오(또는 표준 입력을 사용하려면 생략하십시오).

이는 가장 효율적인 솔루션은 아니지만 작동합니다.

관련 정보