如何使用 ag 仅搜索以特定字符开头的文件?
How can I search only files that start with a certain character using ag?
假设我在一个目录中有两个文件:
.test
test.txt
如何将我的 ag
搜索限制为仅以 .
开头的文件?
我尝试了多种模式,但 none 奏效了。
How can I limit my ag search to only files that begin with a .?
像这样:
ag -u -G ^\..*$ PATTERN
在您的示例中,文件 .test
是隐藏的,因此选项 -u
派上用场。这个选项可能是您在搜索中错过的。
我来解释一下正则表达式^\..*$
:
^
表示:字符串的开头
\.
表示:一个点字符
.*
表示:任意字符 (.
) 任意次数 (*
)
$
是可选的;它标记要匹配的字符串的结尾
注意:我为 ag 打开了一个 bug tracker,因为我看到搜索不限于名称以 .
开头的文件,因为它应该是这个正则表达式。
更一般地说,要在名称与 REGEX 匹配的文件中搜索 PATTERN,可以使用:
ag -G REGEX PATTERN
(与ag --file-search-regex REGEX PATTERN
相同)
查看手册以获取有关 ag 的更多信息。
假设我在一个目录中有两个文件:
.test
test.txt
如何将我的 ag
搜索限制为仅以 .
开头的文件?
我尝试了多种模式,但 none 奏效了。
How can I limit my ag search to only files that begin with a .?
像这样:
ag -u -G ^\..*$ PATTERN
在您的示例中,文件 .test
是隐藏的,因此选项 -u
派上用场。这个选项可能是您在搜索中错过的。
我来解释一下正则表达式^\..*$
:
^
表示:字符串的开头\.
表示:一个点字符.*
表示:任意字符 (.
) 任意次数 (*
)$
是可选的;它标记要匹配的字符串的结尾
注意:我为 ag 打开了一个 bug tracker,因为我看到搜索不限于名称以 .
开头的文件,因为它应该是这个正则表达式。
更一般地说,要在名称与 REGEX 匹配的文件中搜索 PATTERN,可以使用:
ag -G REGEX PATTERN
(与ag --file-search-regex REGEX PATTERN
相同)
查看手册以获取有关 ag 的更多信息。