정규식 논리 OR 확인

정규식 논리 OR 확인

파일 이름이 copy, cony, coby OR tool, trol, thol 등의 단어와 일치하면 파일을 무시하고 싶습니다.

이것은 작동합니다 :

ack -l -i --ignore-file=match:/co.y/ --ignore-file=match:/t.ol/ "mystring" _mynukelib

하지만 단일 --ignore 매개변수를 사용하고 싶습니다. "|"를 사용하여 일반 정규식처럼 "OR" 논리를 생성해 보았지만 작동하지 않습니다.

ack -l -i --ignore-file=match:/co.y|t.ol/ "mystring" _mynukelib

논리적 OR을 수행하는 올바른 구문은 무엇입니까?

답변1

ignore여러 정규식에 대해 이 스위치가 작동하도록 하려면 중괄호와 쉼표를 사용하세요.

ack -l -i --ignore-file=match:{t.ol,co.y} "mystring" _mynukelib

정규식 이름 이 포함된 _mynukelib디렉터리의 모든 파일 은 .co.yt.olmystring

다른 정규식(또는 문자열)을 제외하려면 쉼표로 구분된 중괄호 안에 추가하세요. 아마도 여러분이 사용하고 있는 ack쉘의 중괄호 확장을 사용하십시오 . bash같은 방식으로 작동합니다.

관련 정보