ag 搜索工具参数详解

ag 搜索工具参数详解

Ag 是类似ack, grep的工具,它来在文件中搜索相应关键字。

官方列出了几点选择它的理由:

  • 它比ack还要快 (和grep不在一个数量级上)
  • 它会忽略.gitignore和.hgignore中的匹配文件
  • 如果有你想忽略的文件,你需要将它们加入到 .ignore文件中
  • 它的命令名称更短:-)

安装

ubuntu直接安装:

sudo apt install silversearcher-ag

基本使用

ag的基本使用很直接:在命令后面跟要搜索的字符串即可,它会搜索当前目录下所有文本文件,并返回结果。

ag Module

输出:

在这里插入图片描述

可以看到,会有很清晰地高亮输出显示,而且,真的是,非常快。

.ignore 文件中指定的文件名会被跳过,不进行搜索。直接把想要忽略的文件名写进去就行:

# .ignore
model.py
trainer.py

详细格式及命令选项

下面介绍一些 ag 的常用参数选项及其含义:

选项功能
-s / -i / -S大小写敏感 / 不敏感 / 智能大小写判断(默认),即有大写就开启大小写敏感,否则不敏感
-ccount,输出每个文件中有几个匹配字串
-A / -B / -C [NUM]after / before / context,展示匹配到字串的[后/前 / 前后都有] NUM 行,默认2行
-a搜索全部文件,包括 .ignore 忽略的文件,不包括隐藏文件
-DOutput ridiculous amounts of debugging info. Not useful unless you´re actually debugging. (这句是手册原文,笑)
-f追踪软链接,默认不追踪
-g [PATTERN]输出匹配 PATTERN 的文件名
-G [PATTERN]仅搜索文件名匹配 PATTERN 的文件内容
-l / -L仅输出能 / 不能内容匹配成功的文件的文件名,不输出行内容
-m [NUM]仅输出前 NUM 次成功匹配的内容,跳过剩下的,默认为0,即全部输出
-r / -n是 / 否进入目录进行递归搜索,默认会进行递归搜索
-o只输出行中匹配成功的部分
-p [PATH]提供指定的 .ignore 文件的路径,默认为当前目录下
-Q不将 PATTERN 按照正则表达式来解析
-u搜索所有文件,包括二进制文件,但还是会忽略 .ignore 等文件
-U忽略 VCS ignore文件(包括.gitignore, .hgignore),但仍然会考虑 .ignore,就是前面两者中的内容会被搜索,但是 .ignore 中的内容还是会被忽略
-w只匹配整个单词
-V输出版本信息
-v匹配所有不包含指定字串的行
z搜索压缩文件中的内容

另外一些选项:

选项功能
--ackmate以可由AckMate解析的格式输出结果
--hidden搜索隐藏文件,但不会搜索忽略文件,即与 -a 相反
--depth [NUM]搜索目录深度,-1 为无限制,默认为 25
--ignore PATTERN忽略名称匹配到 PATTERN 的文件或目录的内容,即与 -G 相反
--[no]break搜索结果的不同文件之间是否空行,默认空行
--[no]color是否有颜色高亮显示,默认有
--column输出列号

这就基本全了,还有一些不是很常用的参数,全部的选项参数可 man ag 来查看。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Sourcetree中,你可以使用.gitignore文件来指定要忽略的文件或文件夹。.gitignore文件是一个文本文件,其中列出了要忽略的文件或文件夹的规则。当你上传代码时,Sourcetree会根据.gitignore文件的规则来决定哪些文件不会被上传至云端。\[2\] 要在Sourcetree中使用.gitignore文件进行文件忽略,你需要按照以下步骤进行操作: 1. 在你的代码仓库中创建一个名为.gitignore的文件。 2. 打开.gitignore文件,并按照需要的规则列出要忽略的文件或文件夹。每一行代表一个规则,可以使用通配符来匹配多个文件或文件夹。 3. 保存并关闭.gitignore文件。 然而,需要注意的是,一旦你设置了.gitignore文件,它不会立即生效。你需要进行一次缓存的重新生成才能使.gitignore文件生效。你可以按照以下步骤进行缓存的重新生成: 1. 打开Git Bash或命令行工具。 2. 使用cd命令切换到你的代码文件夹。 3. 运行以下命令来清除Git的缓存:git rm -r --cached . 4. 运行以下命令来添加修改:git add . 5. 运行以下命令来刷新缓存:git commit -m "Refresh adding .gitignore file." 完成以上步骤后,.gitignore文件就会正式生效,Sourcetree会根据文件中的规则来忽略相应的文件或文件夹。\[3\] 希望这些信息对你有帮助!如果还有其他问题,请随时提问。 #### 引用[.reference_title] - *1* [Sourcetree中使用.gitignore忽略文件或者文件夹](https://blog.csdn.net/ananlele_/article/details/115060102)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [sourcetree Git使用时.gitignore文件设置不生效解决办法](https://blog.csdn.net/f798899456/article/details/105947373)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值