我肯定对ack的文件/目录忽略默认设置有什么误解,但也许有人可以为我解释一下:
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
文件。
更新
感谢下面的有用评论,这是我的 ~/.ackrc
的新内容:
--type-add=ruby=.haml,.rake --type-add=css=.less