디렉토리에 파일 세트가 있는데, 모두 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 정규식