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 来查看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532568.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CVE-2013-4547 文件名逻辑漏洞

搭建环境,访问 8080 端口 漏洞说明: Nginx: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强&#xf…

CVE-2017-7529Nginx越界读取缓存漏洞POC

漏洞影响 低危,造成信息泄露,暴露真实ip等 实验内容 漏洞原理 通过查看patch确定问题是由于对http header中range域处理不当造成,焦点在ngx_http_range_parse 函数中的循环: HTTP头部range域的内容大约为Range: bytes4096-81…

Linux命令行性能监控工具大全

Linux命令行性能监控工具大全 作者:Arnold Lu 原文:https://www.cnblogs.com/arnoldlu/p/9462221.html 关键词:top、perf、sar、ksar、mpstat、uptime、vmstat、pidstat、time、cpustat、munin、htop、glances、atop、nmon、pcp-gui、collect…

Weblogic12c T3 协议安全漏洞分析【CVE-2020-14645 CVE-2020-2883 CVE-2020-14645】

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 关注公众号:b1gpig信息安全,文章推送不错过 ## 前言 WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAV…

Getshell总结

按方式分类: 0x01注入getshell: 0x02 上传 getwebshell 0x03 RCE getshell 0x04 包含getwebshell 0x05 漏洞组合拳getshell 0x06 系统层getcmdshell 0x07 钓鱼 getcmdshell 0x08 cms后台getshell 0x09 红队shell竞争分析 0x01注入getshell:…

python 到 poc

0x01 特殊函数 0x02 模块 0x03 小工具开发记录 特殊函数 # -*- coding:utf-8 -*- #内容见POC.demo; POC.demo2 ;def add(x,y):axyprint(a)add(3,5) print(------------引入lambad版本:) add lambda x,y : xy print(add(3,5)) #lambda函数,在lambda函数后面直接…

CVE-2021-41773 CVE-2021-42013 Apache HTTPd最新RCE漏洞复现 目录穿越漏洞

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! CVE-2021-41773漏洞描述: Apache HTTPd是Apache基金会开源的一款流行的HTTP服务器。2021年10月8日Apache HTTPd官方发布安全更新,披…

SSRF,以weblogic为案例

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 复习一下ssrf的原理及危害,并且以weblog的ssrf漏洞为案例 漏洞原理 SSRF(Server-side Request Forge, 服务端请求伪造) 通常用于控制web进而…

C++11 右值引用、移动语义、完美转发、万能引用

C11 右值引用、移动语义、完美转发、引用折叠、万能引用 转自:http://c.biancheng.net/ C中的左值和右值 右值引用可以从字面意思上理解,指的是以引用传递(而非值传递)的方式使用 C 右值。关于 C 引用,已经在《C引用…

Java安全(一) : java类 | 反射

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 1.java基础 Java平台共分为三个主要版本Java SE(Java Platform, Standard Edition,Java平台标准版)、Java EE&#xff0…

对某公司一次弱口令到存储型xss挖掘

转自我的奇安信攻防社区文章:https://forum.butian.net/share/885 免责声明: 渗透过程为授权测试,所有漏洞均以提交相关平台,博客目的只为分享挖掘思路和知识传播** 涉及知识: xss注入及xss注入绕过 挖掘过程: 某次针对某目标信息搜集无意发现某工程公司的项目招标平台 …

C++11新特性选讲 语言部分 侯捷

C11新特性选讲 语言部分 侯捷 本课程分为两个部分:语言的部分和标准库的部分。只谈新特性,并且是选讲。 本文为语言部分笔记。 语言 Variadic Templatesmove semanticsautoRange-based for loopInitializer listLambdas… 标准库 type_traitsunodered…

java安全(二):JDBC|sql注入|预编译

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 1 JDBC基础 JDBC(Java Database Connectivity)是Java提供对数据库进行连接、操作的标准API。Java自身并不会去实现对数据库的连接、查询、更新等操作而是通…

java安全(三)RMI

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 1.RMI 是什么 RMI(Remote Method Invocation)即Java远程方法调用,RMI用于构建分布式应用程序,RMI实现了Java程序之间跨JVM的远程通信…

java安全(四) JNDI

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 1.JNDI JNDI(Java Naming and Directory Interface)是Java提供的Java 命名和目录接口。通过调用JNDI的API应用程序可以定位资源和其他程序对象。JNDI是Java…

java安全(五)java反序列化

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 1. 序列化 在调用RMI时,发现接收发送数据都是反序列化数据. 例如JSON和XML等语言,在网络上传递信息,都会用到一些格式化数据,大多数处理方法中&#xff0c…

git merge和rebase的区别与选择

git merge和rebase的区别与选择 转自:https://github.com/geeeeeeeeek/git-recipes/wiki/5.1-%E4%BB%A3%E7%A0%81%E5%90%88%E5%B9%B6%EF%BC%9AMerge%E3%80%81Rebase-%E7%9A%84%E9%80%89%E6%8B%A9#merge BY 童仲毅(geeeeeeeeekgithub) 这是一篇…

java安全(六)java反序列化2,ysoserial调试

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! ysoserial 下载地址:https://github.com/angelwhu/ysoserial ysoserial可以让⽤户根据⾃⼰选择的利⽤链,⽣成反序列化利⽤数据&…

java安全(七) 反序列化3 CC利用链 TransformedMap版

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 目录图解代码demo涉及的接口与类:TransformedMapTransformerConstantTransformerInvokerTransformerChainedTransformerdome理解总结&#xff1a…

java安全(八)TransformedMap构造POC

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 上一篇构造了一个了commons-collections的demo 【传送门】 package test.org.vulhub.Ser;import org.apache.commons.collections.Transformer; import org…