Silver Searcher - 如何忽略文件

时间:2014-04-10 21:26:40

标签: powershell cmd ag

根据文档,它应该是

--ignore PATTERN

我有一个包含标签的文件,名为"标签"。我尝试了以下内容,每个人仍然搜索标记文件..

ag -Qt --ignore ".*tags" "asdf"

ag -Qt --ignore .*tags "asdf"

ag -Qt --ignore "tags" "asdf"

ag -Qt --ignore tags "asdf"

ag -Qt --ignore *tags

并且它们都不起作用。

如果我使用了建议的here,那么ag根本不接受

我尝试通过将其重命名为temp.tags并使用*.tags模式尝试忽略它来解决它,但它仍然无效。

有什么想法吗?

9 个答案:

答案 0 :(得分:30)

将要排除的文件列表放在.agignore

注意:正如@DenilsonSáMaia所提到的,.agignore将被弃用,而不是.ignore geoff.greer.fm/2016/09/26/ignore

答案 1 :(得分:5)

只添加多个--ignore,至少这对我有用:

ag -Qt --ignore ".*tags" --ignore asdf

如果您不引用引号,如果您将引号设为PATTERN

,则将其解释为目录

答案 2 :(得分:4)

经过一些研究,似乎记录了here已知问题。如果您执行--all-text(-t)搜索,它将覆盖--ignore,因为它正在搜索所有文本。这个问题也适用于 - 不受限制。

答案 3 :(得分:4)

我发现--ignore没有采用正则表达式。

这应该有所帮助:

ag --ignore="*_test.rb" "SomeAwesomeClass"

答案 4 :(得分:0)

我尝试了你发布的链接(使用glob而不是正则表达式),但删除了'='符号,并且它有效。

答案 5 :(得分:0)

从v2.2.0开始(很可能还有较早的版本;我只是在更新现有版本),所有这些答案似乎都无效。对我有用的是:

ag searchterm --ignore=*.log --ignore=*.txt

请注意=选项后的ignore

答案 6 :(得分:0)

您还可以创建.ignore文件以忽略源存储库中的内容。 .ignore使用与.gitignore和.hgignore相同的模式。使用.ignore可以大大提高搜索速度。 。

如果要使用全局.ignore文件,请考虑添加此别名:

preg_grep

到您的alias ag='ag --path-to-ignore ~/.ignore' (或类似文件)

答案 7 :(得分:0)

我刚刚将 .agignore 文件放入我的用户根文件夹中,它可以工作。

<块引用>

默认情况下,ag 将忽略与模式匹配的文件 .gitignore、.hgignore 或 .agignore。这些文件可以在任何地方 正在搜索的目录。 Ag 也会忽略匹配的文件 svn:ignore 在 subversion 存储库中的属性。 最后,ag查看 $HOME/.agignore 用于忽略模式。 二进制文件被忽略 默认也是如此。

https://manpages.ubuntu.com/manpages/trusty/man1/ag.1.html

答案 8 :(得分:-2)

您是否尝试使用单引号?我知道我绝对不会因为使用双引号而没有引号而发现单引号有效。

ag -Qt --ignore '*tags'