我敢肯定,我誤解一些關於ACK的文件/目錄忽略默認值,但也許有人可以提供一些線索這對我來說:ACK失誤的結果(與grep的)
mbuck$ grep logout -R app/views/
Binary file app/views/shared/._header.html.erb.bak.swp matches
Binary file app/views/shared/._header.html.erb.swp matches
app/views/shared/_header.html.erb.bak: <%= link_to logout_text, logout_path, { :title => logout_text, :class => 'login-menuitem' } %>
mbuck$ ack logout app/views/
mbuck$
而.. 。
mbuck$ ack -u logout app/views/
Binary file app/views/shared/._header.html.erb.bak.swp matches
Binary file app/views/shared/._header.html.erb.swp matches
app/views/shared/_header.html.erb.bak
98:<%= link_to logout_text, logout_path, { :title => logout_text, :class => 'login-menuitem' } %>
簡單地調用ack
沒有選項不能找到一個.bak
文件中的結果,但與--unrestricted
選項可以找到的結果調用。據我所知,雖然,默認情況下,ack並不會忽略.bak
文件。
UPDATE
由於下面的有益的意見,這裏有我的~/.ackrc
新內容:
--type-add=ruby=.haml,.rake --type-add=css=.less
非常感謝您的幫助!對於任何感興趣的人,下面的頁面會給你更多關於添加無法識別的文件類型(如.haml)到ack的信息:http://wiki.github.com/protocool/ack-tmbundle/recognizing-files – techpeace 2010-06-14 17:36:39
文件類型確認不僅僅是擴展。它也會看到shebang線。如果你有一個啓動「#!/ usr/bin/perl」的程序「mywhatever」,ack會知道它是一個Perl程序。 – 2010-06-15 22:39:01
請注意,ack 2.0會更改此行爲。 – 2013-05-03 21:07:09