Ack 似乎没有使用其白名单

Ack 似乎没有使用其白名单

我有ack2.04,它不仅搜索白名单中的文件,还搜索所有内容 - 日志、文本、标签。

$ echo 'needle' | tee haystack.txt haystack haystack.log

$ ack needle
haystack
1:needle

haystack.log
1:needle

haystack.txt
1:needle

$ ack --version
ack 2.04 (git commit 8f405b7)
Running under Perl 5.12.4 at /usr/bin/perl

没有,~/.ackrcack --dump生成一堆标记为默认的指令。除了手动让它忽略不需要的文件之外,还有其他想法吗?

答案1

自 2.0 版以来,ack 改变了一些核心行为。最重要的变化是默认情况下 ack 2 会搜索所有非二进制文件。

来自网站

一般变更

当未指定选择器时,ack 1.x 仅搜索可映射到文件类型的文件。相比之下,ack 2.x 将搜索未通过 --ignore-file 或 --ignore-dir 明确忽略的每个常规非二进制文件。这类似于 ack 1.x 中 -a/--all 选项的行为。

已删除的选项

由于默认搜索行为发生变化,-a/--all 和 -u/--unrestricted 选项已被删除。此外,还添加了 -k/--known-types 选项,以使 ack 遵循 ack 1.x 的默认搜索行为。

相关内容