42

根据文档,它应该是

--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

而且它们都不起作用。

如果我使用这里的建议,那么 ag 根本不接受它

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

有任何想法吗?

4

10 回答 10

38

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

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

于 2015-04-20T06:29:24.570 回答
14

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

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

如果你不加引号,如果你把引号作为 PATTERN,它会被解释为目录

于 2016-11-17T09:13:53.320 回答
11

经过一些研究,这似乎是此处记录的一个已知问题。如果您进行 --all-text (-t) 搜索,它将覆盖 --ignore,因为它正在搜索所有文本。--unrestricted 也存在此问题。

于 2014-04-10T22:29:25.137 回答
10

我发现--ignore不需要正则表达式。

这应该有助于:

ag --ignore="*_test.rb" "SomeAwesomeClass"
于 2017-11-27T18:53:57.690 回答
3

从 v2.2.0 开始(很可能也是早期版本;我只是退出我拥有的版本)所有这些答案似乎都不起作用。对我有用的是:

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

注意选项=后面的ignore

于 2019-07-27T01:51:12.120 回答
2

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

如果您想要一个全局 .ignore 文件,请考虑添加此别名:

alias ag='ag --ignore ~/.ignore' 

到您的~/.bash_profile(或类似的)文件。还有

暂时禁用 vcs 忽略可以运行--skip-vcs-ignores

于 2019-08-08T20:59:15.183 回答
1

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

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

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

于 2021-03-15T16:40:25.697 回答
1

对我来说,以下作品(在ag0.18.1 版中):

ag --ignore TAGS;*.pdf;*.json "search_term"
于 2015-08-27T10:31:52.900 回答
0

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

于 2014-07-02T17:14:11.790 回答
-1

您是否尝试过使用单引号?我知道我肯定被使用双引号而没有引号只是为了发现单引号有效而感到难过。

ag -Qt --ignore '*tags'
于 2014-04-10T22:22:38.040 回答