我的文件结构如下:
A
G (want to ignore)
H (want to ignore)
X (contains files I want to search)
B
G (want to ignore)
H (want to ignore)
X (contains files I want to search)
C (want to ignore)
X (contains files I want to search)我只想返回X位于目录路径某个位置的结果。
看起来我可以使用ag foo --ignore={G,H},但是要忽略的文件夹列表非常长(几乎令人望而却步)。我通常希望在所有文件夹中搜索,这样我就可以手动构建一个包含所有内容的全局忽略文件,并在我想忽略大部分内容时将其替换到位。
我发现这个语法允许我在A和B的X文件夹中搜索,所以我已经接近了!
ag foo */X所以问题本质上是:我怎么能有任意数量的正斜杠(0,1或更多)?
发布于 2022-05-25 11:56:55
简单的ag命令是不够的
我不认为这仅仅是通过ag (银搜索器)命令。您需要根据X目录名过滤整个目录树中的输入文件。
我会做一些这样的事情:
ag 'search\sstring' `tree -dfi | ag '\/X.*'` | less它能做什么?
以下命令:
`执行,然后通过ag搜索输出。
tree -dfi ..。打印要search-d的整个路径(dir和文件).只打印directories-f ..。打印每个file-i的全路径前缀..。跳过输出中的空格(尽量使其可处理)ag '\/X.*' ...搜索路径中的目录/X (后面跟着0或多次出现的任何字符)--使用任何regexp,它将选择要搜索的目录。
文件中搜索文本
ag 'search\sstring' ...搜索筛选路径中的“搜索字符串”字符串
less为您提供了可搜索的输出(您可以任意重定向)
https://stackoverflow.com/questions/71785040
复制相似问题