2012-10-17 9 views
0

모든 .js 및 .php 파일을 검색하지만 "Thirdparty /"및 "data.js"가 포함 된 경로는 무시하고 싶습니다.ack 긍정적 인 경로와 일치하는 경로와 일치하는 파일을 무시합니다.

ack -il -G '(\.js|\.php)' 'my search string' 

나는 -v를 시도했지만 모두 -G 연산자를 반전 할뿐만 아니라 선행하는 연산자 보인다

ack -il -G '(\.js|\.php)' -G '(Thirdparty|data\.js)' -v 'my search string' 

내가 ./Thirdparty 경로를 무시해야하며 경로를 ./data.js 하지만 .js와 .php 파일 전체에 일치해야합니다.

답변

0

-v는 파일 이름 정규식이 아닌 패턴 (이 경우 "내 검색 문자열")을 변환합니다. 최신 버전의 ack에서는 --invert-file-match 옵션이 사용자 요구 사항을 처리합니다. 다음은 ack 1.96에서 작동합니다.

ack -il -G '(\.js|\.php)' --invert-file-match -G '(Thirdparty|data\.js)' 
'my search string'