ack忽略匹配路径的文件以及正路径匹配

时间:2012-10-17 00:33:40

标签: linux bash shell ack

我想执行一个搜索所有.js和.php文件的命令,但忽略其中包含“Thirdparty /”和“data.js”的路径。

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文件。

1 个答案:

答案 0 :(得分:0)

-v反转模式(在本例中为“我的搜索字符串”)而不是文件名正则表达式。 使用更新版本的ack和--invert-file-match选项可以满足您的要求。以下内容适用于ack 1.96。

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