정규 표현식에서 OR이 지원됩니까?

정규 표현식에서 OR이 지원됩니까?

예를 들어, 디렉토리에서 "m" 또는 "sh"로 끝나는 모든 파일을 찾고 싶습니다. 다음은 올바르게 실행됩니다.

find . -regex '.*.m' -o -regex '.*.sh'

그러나 이것은 실패합니다.

find . -regex '.*.(m|sh)'

내가 뭘 잘못했나요?

답변1

방금 지옥에서 탈출했습니다:

find . -regex '.*.\(m\|sh\)

작동하는 것 같습니다. 정규식 특수 문자를 이스케이프해야 하는지 아니면 다른 도구 간에 이스케이프해야 하는지에 대한 합의가 많지 않다고 생각합니다.

관련 정보