grep是我们最常用的命令之一,但是正真用的熟的不多,把基础命令记牢固,能帮我们节约很多时间

grep的option

-A 1 表示找到所有匹配行,并显示所有匹配行后的一行
在错误日志查找时还是很有用

-B 1 表示找到所有匹配行,并显示所有匹配行的前面一行

-C 1表示找到所有匹配行,并显示所有匹配行的前一行,后一行

-a 表示把所有文件当作ASCII文件来处理 搜索二进制文件

//a.pcap是一个tcpdump生成的文件,为binary文件,使用grep不能搜索

-b 表示显示match的字符串在文件中的offset

-c 显示有多少行match

–color 是把match的字符用不同颜色标示出来

-e 后面跟一个正则表达式,指定多个正则表达式的时候很有用

-f可以指定pattern在我们的文件中 pattern文件中的每一行都会来进行匹配

-m 最多匹配几个后,就停止,这样速度会比较快

-n 匹配之后,在前面打印行号,这个还是有用的

-o 只打印匹配的内容

-R 搜索子目录
$ll
total 208
-rw-r–r– 1 * * 91868 5 1 23:05 a.pcap

-rw-r–r– 1 * * 31 5 2 22:39 a.txt
-rw-r–r– 1 * * 4 5 1 23:18 b.txt

drwxr-xr-x 3 * * 102 5 4 18:58 dir1 //这是一个目录
-rw-r–r– 1 * * 4 5 4 18:49
pattern.txt

//只能搜索当前目录

-v invert查找 下面为在a.txt中,查找不包含”a”的行 这个命令会经常使用

-w 查找一个词,

grep 正则表达式

^pattern 表示开头处开始匹配

. 为匹配任意单个字符

“r.*h”
//匹配一个字符串,其中有r,有h,且r在前,h在后,且r和h之间可以间隔任意长度的任意字符串,sat考试培训当然也可以没有间隔

//匹配一个字符串,其中r是第一个字符,h是最后一个字符,且r和h之间可以间隔任意长度的任意字符串,当然也可以没有间隔

匹配指定范围内的任意字符 [e] 匹配任意单个字符
$ echo “redh” |grep “[e]”
redh

$ echo “redh” |grep “[s]”

匹配指定范围内的任意字符 [eh] 匹配e或h

匹配指定范围内的任意字符 [a-z],[1-3a-b] [1-3a-bX-Z]

//[^] 匹配指定范围外的字符

[[:space:]] 匹配空白字符

\? 表示匹配前面的字符串0次或1次

{m,n} 匹配前面的字符串m到n次

{2,} 匹配前面的字符串至少两次

// \

//() 用来进行分组, 下面这个就是匹配带有re和rea的

+ 表示匹配前面的字符串一次或多次

| 表示或的关系

linux grep命令使用详解的更多相关文章

  1. linux nc命令使用详解(转)

    linux nc命令使用详解 功能说明:功能强大的网络工具 语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o& ...

  2. (转)Linux curl命令参数详解

    Linux curl命令参数详解 命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具, ...

  3. (转)linux paste命令用法详解

    linux paste命令用法详解原文:http://www.xfcodes.com/linuxcmd/mulu/10211.htmlinux下paste命令,可用于合并文件的列. 功能说明:合并文件 ...

  4. (转)linux nc命令使用详解

    linux nc命令使用详解 原文:https://www.2cto.com/os/201306/220971.html 功能说明:功能强大的网络工具 语 法:nc [-hlnruz][-g<网 ...

  5. Linux帮助命令man详解

    命令man详解 命令man,可以获得命令(使用whatis命令可以得到一个命令的简短介绍,可以使用:命令 --help 来获得命令的选项说明)或配置文件的帮助信息(可以使用apropos命令仅查看配置 ...

  6. linux dd命令实用详解

    linux dd命令刻录启动U盘详解 dd命令做usb启动盘十分方便,只须:sudo dd if=xxx.iso of=/dev/sdb bs=1M 用以上命令前必须卸载u盘,sdb是你的u盘,bs= ...

  7. Linux常用命令与详解

    在Linux系统中文件删除.创建.更改等操作都是通过一个个不同的命令来完成我们想要的操作,那么什么是命令呢? 凡是在字符操作界面中输入的能够完成特定操作和任务的字符串都可以称为命令.严格来说,命令通常 ...

  8. Linux 常用命令及详解

    1.  type   :查询命令 是否属于shell解释器2.  help  : 帮助命令3.  man : 为所有用户提供在线帮助4.  ls  : 列表显示目录内的文件及目录-l    以长格式显 ...

  9. Linux常用命令操作详解

    https://mp.weixin.qq.com/s/IR4yy7Q0mOA_XV16R21CdQ 一:Linux下tomcat服务的启动.关闭与错误跟踪 使用PuTTy远程连接到服务器以后,通常通过 ...

随机推荐

  1. [noip6]模板

    平衡树好题啊 现在暂时还不知道用普通线段树该咋做.... 刚刚做完 二逼平衡树,感觉自己的 \(splay\) 水平有了很大很大的长进,然鹅.... 这题又给我当头一棒.... 然后就一下午出去了但总 ...

  2. django2.1实现全文检索(最详细)+遇到的坑+jieba分词

    首先django实现全文检索在这里使用的是haystack,环境是django2.1+win10 64+py3.7 1: 安装包: pip install dgango-haystack #安装全局检 ...

  3. 构建前端第6篇之---内嵌css样式 <el-button style="width:100%"> 登录 </el-button>

    张艳涛写于2021-1-20日 What: 如何让button的长度和input长度一致呢 最先想到的是给这个button加一个class ="buttonclass",然后在vu ...

  4. springboot整合mybatis源码分析

    springboot整合mybatis源码分析 本文主要讲述mybatis在springboot中是如何被加载执行的,由于涉及的内容会比较多,所以这次只会对调用关系及关键代码点进行讲解,为了避免文章太 ...

  5. PS Lite - 源码解读

    PostOffice 类 /** * \brief 系统的中心. */ class Postoffice { public: /** * \brief 返回单例对象. */ static Postof ...

  6. etcd raft 处理流程图系列2-transport

    本章给出了raftexample中使用的传输层代码,补全了上一节中传输层与raft节点(raft server和channel server)的交互细节.下图中流程的核心在于传输层中的streamRt ...

  7. 用Python预测双色球福利彩票中奖号码(请不要当真)

    前言 双色球是中国福利彩票的一种玩法. 红球一共6组,每组从1-33中抽取一个,六个互相不重复.然后蓝球是从1-16中抽取一个数字,这整个组成的双色球 python从零基础入门到实战 今天,我们就用P ...

  8. Docker部署Jenkins 2.285版持续部署集成实践(1)

    抓取Jenkins镜像 docker pull jenkins/jenkins 创建映射本地路径: 运行Jenkins实例 docker for windows: docker run -it -p ...

  9. The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path 问题解决记录

    1.问题 启动Tomcat之后,在浏览器输入IP后显示503,查看catalina.log发现报错: 2.问题定位:缺少 tomcat-native library 就是说 缺少Tomcat Nati ...

  10. go-zero:微服务框架

    go-zero 是一个集成了各种工程实践的 Web 和 rpc 框架,它的弹性设计保障了大并发服务端的稳定性,并且已经经过了充分的实战检验. go-zero 在设计时遵循了 "工具大于约定和 ...