![정규식 수량자를 사용하여 [중복] 찾기](https://linux55.com/image/78007/%EC%A0%95%EA%B7%9C%EC%8B%9D%20%EC%88%98%EB%9F%89%EC%9E%90%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%5B%EC%A4%91%EB%B3%B5%5D%20%EC%B0%BE%EA%B8%B0.png)
디렉토리에 파일 세트가 있는데, 모두 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 정규식