
.pem
파일 목록이 주어지면 또는 로 끝나는 모든 파일을 찾고 싶습니다 .cer
. 이 명령은 PEM을 찾는 데 작동합니다.
find . -d 1 -regex ".*\.pem"
하지만 이 명령은 아무것도 찾지 못합니다.
find . -d 1 -regex ".*\.(pem|cer)"
이 구문은 BBedit 패턴 놀이터에서 작동합니다. find에서 정규식 그룹을 사용하는 방법이 있나요?
답변1
나는 이것을 위해 정규 표현식을 사용하지 않고 대신 다음을 사용합니다.
find . -name "*.pem" -o -name '*.cer'
정규 표현식을 구문 분석하는 데 CPU 시간이 더 많이 들기 때문에 더 빠를 수도 있습니다(여기서는 몇 초에 불과합니다).
편집하다:
이제 Hannu의 의견을 보니 (원래 시도한 명령을 기반으로) 아마도 하위 디렉터리를 확인하고 싶지 않을 수도 있다는 것을 알 수 있습니다. 이 경우 다음과 같습니다.
find . -maxdepth 1 -name "*.pem" -o -name '*.cer'
답변2
이 명령은 아무것도 찾지 못합니다.
find . -d 1 -regex ".*\.(pem|cer)"
'
대신 다음 과 같이 "
이스케이프를 사용해야 합니다 .(
)
find . -d 1 -regex '.*\.\(pem|cer\)'