정규식 수량자를 사용하여 [중복] 찾기

정규식 수량자를 사용하여 [중복] 찾기

디렉토리에 파일 세트가 있는데, 모두 test[0-9][0-9].txt.

find . -regex ".*/(test)[0-9][0-9]\.txt"

그러면 모든 파일이 표시되지만 실행하면

find . -regex ".*/(test)[0-9]{2}\.txt"

그러면 아무것도 표시되지 않습니다. 내가 뭘 잘못했나요? !

이전에 유사한 질문을 검색했지만 특별히 관련 있는 답변을 찾을 수 없습니다.

답변1

find를 사용하고 있다면 GNU이것이 효과가 있을 것입니다.

 find . -regextype sed -regex "./test[0-9]\{2\}.txt"

설명하다

  • -regextype sed- 기본 posix 정규식 사용(그냥 내가 익숙하기 때문에)
  • ./- find가 상대 검색의 모든 파일 경로를 이 패턴으로 시작하는 것으로 간주하기 때문에 필요합니다.
  • [0-9]\{2\}[0-9]- 수량자 괄호가 이스케이프된 숫자 문자 클래스의 인스턴스 2개 \{...\}- 각각기본 POSIX 정규식

관련 정보