2011-04-06 65 views

回答

1
ack -G '^(?!test$)' 
ack -G '^(?!.*test)' 

使用第一個無視準確test命名的文件。使用第二個來忽略文字test裏面的任何地方。

如果要永久忽略測試文件,您可以編輯在ACK腳本is_searchable功能。這是過濾掉核心轉儲,交換文件等的例程。

+0

爲什麼我需要脫字符號才能使其工作。基於這個http://www.rubular.com/ caret只是表示行的開始。 – 2011-04-06 21:01:25

+0

您需要錨定負向預測值,否則它將始終匹配。如果你只是寫'(?!test)',那麼它將匹配所有的文件名,因爲前瞻將總是能夠找到* some *的位置,在那裏單詞「test」不存在。 – 2011-04-06 21:17:53

+0

感謝您的解釋。 – 2011-04-06 21:38:50