Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell Silver Searcher-如何忽略文件_Powershell_Cmd_Ag - Fatal编程技术网

Powershell Silver Searcher-如何忽略文件

Powershell Silver Searcher-如何忽略文件,powershell,cmd,ag,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 而且它们都不起作用 如果我使用建议的内容,那么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
而且它们都不起作用

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

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


有什么想法吗?

你试过使用单引号吗?我知道我肯定被双引号和无引号难倒了,结果发现单引号有效

ag -Qt --ignore '*tags'

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

我尝试了您发布的链接(使用glob而不是regex),但删除了“=”符号,效果良好。

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


注意:正如@DenilsonSáMaia所提到的,
.agignore
将被弃用,取而代之的是
.ignore

对于我来说,以下工作(在
ag
0.18.1版中):

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

ag -Qt --ignore ".*tags" --ignore asdf
如果你不加引号,它就会被解释为目录,如果你把引号作为模式,我发现,
--ignore
不带正则表达式

这将有助于:

ag --ignore="*_test.rb" "SomeAwesomeClass"
从v2.2.0开始(很可能是更早的版本;我刚从现有的版本中退出),所有这些答案似乎都不起作用。对我来说,成功的是:

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

注意
忽略
选项后的
=

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

如果你想要一个Global。忽略文件,考虑添加这个别名:

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

到您的
~/.bash\u配置文件
(或类似)文件

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

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


为什么你的单引号看起来像反勾号?我无法重现让globs处理这个问题。你能贴出对你有效的那句话吗?回答得很好。有关.agignore的更多详细信息,请参阅:
.agignore
将被弃用,取而代之的是
.ignore
.agignore
与ag 2.0.0版一起使用,请检查源代码。您可以将.ignore文件全局添加为~/.ignore(而不是在项目根级别)。或者,您也可以将要排除的文件或文件夹添加到.gitignore中。
.agignore
是正确的文件。现在是2021年,它还没有被弃用。。可能永远不会
.ignore
无论如何都会是一个糟糕的名字,因为你不知道它到底属于什么,而且可能会有另一个应用程序使用它。我发现这个答案与@ArturMałecki的答案相结合,涵盖了为什么--ignore对我不起作用。
alias ag='ag --path-to-ignore ~/.ignore'