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 大小写敏感 / 不敏感 / 智能大小写判断(默认),即有大写就开启大小写敏感,否则不敏感
-c count,输出每个文件中有几个匹配字串
-A / -B / -C [NUM] after / before / context,展示匹配到字串的[后/前 / 前后都有] NUM 行,默认2行
-a 搜索全部文件,包括 .ignore 忽略的文件,不包括隐藏文件
-D Output 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 来查看。

ag 搜索工具参数详解相关推荐

  1. Linux系统上hdparm工具参数详解,硬盘检查、测速、设定和优化

    Linux系统上hdparm工具参数详解,硬盘检查.测速.设定和优化 2012/07/25 hdparm, 硬盘 Linux命令相关 1 6,757 hdparm的功能:显示与设定硬盘的参数.hdpa ...

  2. Dumpbin工具参数详解

    Dumpbin工具参数详解 Dumpbin简介 DUMPBIN是在Windows平台下用于显示COFF格式文件信息的一个命令行工具.你可以使用DUMPBIN去显示COFF格式的文件信息,比如像vc编译 ...

  3. 内存优化之一——内存优化工具参数详解

    博客结构 1.背景 2.内存查看方式 (1).AS-Profiler (1).运行框-命令行 3.内存参数 (0)PSS (1)Java heap (2)Native Heap (3)Code (4) ...

  4. Linux的hdparm工具参数详解:硬盘检查、测速、设定、优化

    PS:在Linux下可以使用hdparm工具查看硬盘的相关信息或对硬盘进行测速.优化.修改硬盘相关参数设定.我主要常用这个工具来测试硬盘速度. hdparm(hard disk parameters) ...

  5. scp 保留文件属组_SCP命令用法详解-hdparm工具参数详解-改变文件组命令chgrp和改变文件属主命令chown_169IT.COM...

    scp命令跟cp命令类似,只不过cp命令是在同一台机器上用的,scp是在两台机器上复制传输数据的命令.scp实质相当于利用SSH协议来传输数据的cp命令. 用法举例: 1.复制远程服务器的文件到本地: ...

  6. ab测试工具参数详解

    -n 测试会话中所执行的请求个数,默认仅执行一个请求 -c 一次产生的请求个数,即同一时间发出多少个请求,默认为一次一个 -t 测试所进行的最大秒数,默认为无时间限制....其内部隐含值是[-n 50 ...

  7. 【linux】Valgrind工具集详解(八):Memcheck命令行参数详解

    [linux]Valgrind工具集详解(五):命令行详解中不够全,在此专门针对Memcheck工具中的命令行参数做一次详细的解释. Memcheck命令行选项 –leak-check=<no| ...

  8. VS自带工具:dumpbin的参数详解

    VS自带工具:dumpbin的参数详解 参考链接: 1.微软技术文档 2.微软官方文档描述](https://docs.microsoft.com/zh-cn/cpp/build/reference/ ...

  9. Windows 运行chkdsk磁盘修复工具命令参数详解

    Windows 运行chkdsk磁盘修复工具命令参数详解 chkdsk是Windows系统自带的磁盘修复工具,通常在电脑非正常关机之后再开机,系统就会自动调用chkdsk工具进行磁盘扫描和修复.同时, ...

最新文章

  1. Android:学习AIDL,这一篇文章就够了(下)
  2. APUE读书笔记-第15章-进程间通信
  3. Tomcat内部结构及工作原理学习
  4. 『设计模式』外观模式--这篇博客也太明了吧
  5. Linux系统是什么
  6. 13、MVC 设计思想
  7. Velocity笔记(上)
  8. SSD网络及代码理解
  9. code vs 集成tfs_Microsoft强大团队(源代码)管理工具--TFS2010 与vs结合
  10. 徐思201771010132《面向对象程序设计(java)》第六周学习总结
  11. HearthBuddy炉石兄弟 格雷迈恩
  12. 犹太人很会赚钱?一老板用犹太人的思维做生意,一年赚了200多万!
  13. 【工具使用】GPU的各项参数说明
  14. 数据库kettle,datax,DBMigration,RazorSQL几款迁移工具使用感受(以及如何迁移表的结构如主键,索引,约束等)
  15. python打擂台法_一起来捉妖:这种打擂台方法不可用,玩家试了一下,被无情封禁...
  16. rk3328 android10 Debug串口打印信息
  17. 通过MediaRecorder 录制视频的时候,魅族手机录制视频后,大小显示0
  18. 软件架构师 第一部分 基础篇 第四章 识别架构特性
  19. python绘制梅花_Python | 巧用生成表达式、让循环显得高大上 !
  20. 新建、重命名、删除文件夹必须要通过刷新才能显示解决办法

热门文章

  1. Elasticsearch7.15.2 mysql8.0.26 logstash-input-jdbc 数据全量索引构建
  2. Flowable 数据库表结构 ACT_RE_PROCDEF
  3. Kafka 监控 Kafka Eagle 精简版本
  4. SonarQube启动报错:WrapperSimpleApp: Encountered an error running main: java.nio.file.AccessDeniedExcepti
  5. oracle删除查询的数据库语句,Oracle简略的语句 查询 删除 修改(1)
  6. 天线接收功率计算公式_对讲机天线到底有多重要?通信效果好不好全靠它了!...
  7. 9008线刷_小米红米手机新机9008模式怎么进入?小米线刷救砖模式
  8. python删除excel内容_用python批量删除sheet
  9. 在计算机中dos代表什么意思,Boot是什么意思
  10. git分支合并指定代码_git的几种实用操作(合并代码与暂存复原代码)