Linux 三剑客之 grep 使用详解

编程修养 等级 870 0 0

Linux 最重要的三个命令在业界被称为三剑客,它们是:awksedgrep。sed 已经在上篇中讲过,本文要讲的是 grep 命令。

我们在使用 Linux 系统中,grep 命令的使用尤为频繁,熟练掌握 grep 的常见用法,能够极大地提高你的工作效率。

Linux 三剑客之 grep 使用详解

grep 命令是一种强大的文本搜索工具,它能使用正则表达式,按照指定的模式去匹配,并把匹配的行打印出来。需要注意的是,grep 只支持匹配而不能替换匹配的内容,替换的功能可以由 sed 来完成。

整体上 grep 还是比较简单的,文中不会详细列举所有的选项和参数,会以多个具体示例来说明 grep 的使用方法和场景,帮助你快速学会 grep 的常见用法。

示例实战

废话不说了,直接实战。文章中的示例 需要一个样例文件,文件内容如下:

Linux 三剑客之 grep 使用详解

1. 把包含 syslog 的行过滤出来

Linux 三剑客之 grep 使用详解

2. 把以 ntp 开头的行过虑出来

Linux 三剑客之 grep 使用详解

3. 把匹配 ntp 的行以及下边的两行过滤出来

Linux 三剑客之 grep 使用详解

4. 把包含 syslog 及上边的一行过滤出来

Linux 三剑客之 grep 使用详解

5. 把包含 syslog 以及上、下一行内容过滤出来

Linux 三剑客之 grep 使用详解

6. 过滤某个关键词,并输出行号

Linux 三剑客之 grep 使用详解

7. 过滤不包含某关键词,并输出行号

Linux 三剑客之 grep 使用详解

8. 删除掉空行

Linux 三剑客之 grep 使用详解

9. 过滤包含 root 或 syslog 的行

Linux 三剑客之 grep 使用详解

10. 查看当前目录中包含某关键词的所有文件(这个很有用)

Linux 三剑客之 grep 使用详解

简单总结

通过了一些简单案例操作,我们应该已经熟悉了 grep 的常见用法,下边再来简单总结 grep 的常见选项,相信在实战练习后再来总结应该会有更好的学习效果。

  • -A:除了匹配行,额外显示该行之的N行
  • -B:除了匹配行,额外显示该行之的N行
  • -C:除了匹配行,额外显示该行前后的N行
  • -c:统计匹配的行数
  • -e实现多个选项间的逻辑 or 关系
  • -E支持扩展的正则表达式
  • -F:相当于 fgrep
  • -i忽略大小写
  • -n:显示匹配的行号
  • -o:仅显示匹配到的字符串
  • -q:安静模式,不输出任何信息,脚本中常用
  • -s:不显示错误信息
  • -v显示不被匹配到的行
  • -w:显示整个单词
  • --color:以颜色突出显示匹配到的字符串

与 grep 相似的工具还有 egrepfgrep,实用性并不强,其功能完全可以通过 grep 的扩展参数来实现,所以就不再扩展。

好了,本次分享就到这里了!谢谢大家,我是肖邦,欢迎关注后续的精彩内容。

推荐阅读:

Linux 三剑客之 grep 使用详解

收藏
评论区

相关推荐

Linux 三剑客之 grep 使用详解
Linux 最重要的三个命令在业界被称为三剑客,它们是:awk、sed、grep。sed 已经在上篇(https://mp.weixin.qq.com/s/XvTrfKfYZHnGZQ1O1K9lg)中讲过,本文要讲的是 grep 命令。 我们在使用 Linux 系统中,grep 命令的使用尤为频繁,熟练掌握 grep 的常见用法,能够极大地提高你的
超详细图解!【MySQL进阶篇】存储过程,视图,索引,函数,触发器
@ 1.1 下载Linux 安装包下载地址: 1.2 安装MySQLcAPACHE1). 卸载 centos 中预安装的 mysql rpm qa | grep i mysql rpm e mysqllibs5.1.711.el6.x8664 nodeps2). 上传 mysql 的安装包 alt + p put E:/test/MySQL5.6.221
CPU核数怎么计算?
#### 物理cpu数 主板上实际插入的cpu数量,可以数不重复的 physical id 有几个(physical id) # Linux cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l #### cpu核数 单块CPU上面能处理数据的芯片组的数量,
MySQL入门——在Linux下安装和卸载MariaDB
MySQL入门——在Linux下安装和卸载MariaDB ============================ 摘要:本文主要学习了如何在Linux系统中安装和卸载MariaDB数据库。 查看有没有安装过MariaDB --------------- 使用命令查看有没有安装过: 1 [root@localhost ~]# yum list
Ubuntu18.04下安装MySQL
**提示:以下操作均在root权限下进行。** \# 查看有没有安装MySQL: dpkg -l | grep mysql \# 安装MySQL: apt install mysql-server ![](https://img2018.cnblogs.com/blog/1404518/201905/1404518-2019050815303467
Apache加入到linux系统service
#将Apache加入到linux系统service 将apache加入到linux系统服务,用service命令来控制apache的启动和停止。 [本文由乌合之众瞎写`http://my.oschina.com/oloroso`](http://my.oschina.com/oloroso) ##1.生成Apache服务控制脚本 ###1.1提取/usr/l
ClickHouse20.3 安装
1、检查环境 ====== 1.1、linux版本 ----------- [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) 1.2、SSE 4.2 ----------- [root@localhost
Linux NFS挂载
Linux NFS挂载 =========== 一、NFS挂载 ======= 192.25.10.101/home/sharedata/azkaban/ODS\_HS08 挂载到 192.25.10.102/home/data\_azkaban (一)192.25.10.101上操作: -------------------- ### 1,查看rp
Linux 三剑客 Awk、Sed、Grep 命令详解
点击上方“民工哥技术之路”,选择“设为星标” 回复“1024”获取独家整理的学习资料! [![](https://oscimg.oschina.net/oscnet/3fda178e-1509-45c2-ad88-e2c46df6d671.png)](https://www.oschina.net/action/GoToLink?url=https%3A
Linux下php+imagemagick的图片处理环境安装(支持webp格式)
ImageMagick是一款功能强大的图片处理工具包,很多互联网应用中都会涉及到图片处理工作,比如切割、缩放、水印、格式转换等。ImageMagick就是一个理想的工具包。这里主要记录一下Linux RedHat 2.6.18下的环境安装过程。 #### 安装基础依赖: 先检查一些基本的图片支持包是否已经安装,比如jpge和png RedHat
Linux下部署 jar包
1、windows和linux执行jar命令是一样的,java -jar xxx.jar 2、使用nohup命令将jar程序设置成后台运行,运行日志输出到nohup.out,关闭窗口无影响 nohup java -jar xxx.jar > nohup.out 2>&1 & ![](https://oscimg.oschina.net/oscnet/
Linux平台的SVN服务器的配置及搭建
https://jingyan.baidu.com/article/54b6b9c08b35382d593b477c.html --------------------------------------------------------------- 一、安装SVN ------- 1. 1 在Linux平台上,SVN的软件包名称
Linux服务器性能查看分析调优
###### 转自https://www.cnblogs.com/ace-lee/p/6628079.html 一 linux服务器性能查看 ============== 1.1 cpu性能查看 ----------- ### 1、查看物理cpu个数: cat /proc/cpuinfo |grep "physical id"|sort|un
Linux查看GPU信息和使用情况
1、Linux查看显卡信息: lspci | grep -i vga 2、使用nvidia GPU可以: lspci | grep -i nvidia ![](https://oscimg.oschina.net/oscnet/36e7c7382fa9fe49068e7e5f8825bc67a17.png) 前边的序号 "00:0f.0"是显卡的代
Linux查看进程和删除进程
基本命令讲解 ====== 在Linux命令平台输入1-2个字符后按下Tab键会自动补全后面的部分(前提是要有这个东西,例如在装了tomcat的前提下,输入tomcat的to按table)。 ps 命令用于查看当前正在运行的进程。 grep 是搜索 例如:ps -ef | grep java 表示查看所有进程里CMD是java的进程信息 ps -