根据文档,它应该是
--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
模式尝试忽略它来解决它,但它仍然无效。
有什么想法吗?
答案 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 用于忽略模式。 二进制文件被忽略 默认也是如此。
答案 8 :(得分:-2)
您是否尝试使用单引号?我知道我绝对不会因为使用双引号而没有引号而发现单引号有效。
ag -Qt --ignore '*tags'