0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于Linux三剑客之grep实战示例详细教程讲解

Linux爱好者 来源:开源博客 作者: Linux云计算网络 2021-03-31 16:43 次阅读

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

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

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

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

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

257b03fc-8d80-11eb-8b86-12bb97331649.png

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

25bc8ade-8d80-11eb-8b86-12bb97331649.png

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

25e68668-8d80-11eb-8b86-12bb97331649.png

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

260695ca-8d80-11eb-8b86-12bb97331649.png

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

2629a786-8d80-11eb-8b86-12bb97331649.png

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

264c2f2c-8d80-11eb-8b86-12bb97331649.png

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

267784b0-8d80-11eb-8b86-12bb97331649.png

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

269d57f8-8d80-11eb-8b86-12bb97331649.png

8. 删除掉空行

26d72154-8d80-11eb-8b86-12bb97331649.png

9. 过滤包含 root 或 syslog 的行

26f628f6-8d80-11eb-8b86-12bb97331649.png

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

27195b14-8d80-11eb-8b86-12bb97331649.png

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

-A:除了匹配行,额外显示该行之后的N行

-B:除了匹配行,额外显示该行之前的N行

-C:除了匹配行,额外显示该行前后的N行

-c:统计匹配的行数

-e:实现多个选项间的逻辑 or 关系

-E:支持扩展的正则表达式

-F:相当于 fgrep

-i:忽略大小写

-n:显示匹配的行号

-o:仅显示匹配到的字符串

-q:安静模式,不输出任何信息,脚本中常用

-s:不显示错误信息

-v:显示不被匹配到的行

-w:显示整个单词

--color:以颜色突出显示匹配到的字符串

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10987

    浏览量

    206723
  • grep
    +关注

    关注

    0

    文章

    22

    浏览量

    4680

原文标题:Linux 三剑客之 grep 实战详解教程

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    上海雷卯LM61089A/B/Q三剑客为SLIC接口电路提供保护

    讲解电信通信设备需要通过CR-1089-CORE认证,GR-1089-CORE是NEBS认证中关于网络设备电磁兼容性和电气安全的标准,它是评定通信设备在遭受到高能量脉冲干扰时的抗干扰能力的通用标准。许多客户通信设备对于GR-1089-COR
    的头像 发表于 04-19 08:02 63次阅读
    上海雷卯LM61089A/B/Q<b class='flag-5'>三剑客</b>为SLIC接口电路提供保护

    详细讲解Altium Designer 23的安装教程

    在PCB设计中,软件的安装是我们迈出的第一步,接下来将详细讲解Altium Designer 23安装教程。
    的头像 发表于 01-09 10:02 1653次阅读
    <b class='flag-5'>详细</b><b class='flag-5'>讲解</b>Altium Designer 23的安装教程

    linux搜索文件里的字符串

    Linux系统中,我们可以使用各种方法来搜索文件中的字符串。在本文中,我将为您详细介绍几种常用的方法和工具。让我们开始吧! grep命令 grep命令是
    的头像 发表于 11-23 10:20 519次阅读

    linux命令行与shell编程实战

    Linux命令行与Shell编程实战主要涉及以下内容: Linux命令行基础:学习Linux命令行的基本操作,如文件管理、进程管理、网络配置等。熟悉使用命令行能够提高工作效率,提升自己
    的头像 发表于 11-08 10:57 361次阅读

    读《玄铁RISC-V处理器入门与实战

    ,兼容64位高能效处理器C908,高性能应用处理器C910,以及AI加速引擎C920。 ③、面向高性能领域CPU,着重介绍了高性能应用处理器C910与可靠实时增强型R910。 书籍有关于平台的介绍
    发表于 09-28 11:58

    关于Linux高级指令的介绍

    。 2. grep命令:文本搜索的得力助手 grep命令用于在文件中搜索特定模式的文本。它支持正则表达式,并可以通过选项来控制搜索的方式。以下是几个常用的示例: 搜索包含特定关键字的行:gre
    发表于 09-01 15:44

    地平线:集齐“三剑客”,让人人都能会造机器人

    7月25日,在“地平线2023机器人开发者创享日”活动现场,四足机械狗、张牙舞爪的机械臂、“跑起来的高达”等机器人产品遍地跑,让人着实大开眼界。如何实现?那就是集齐地平线召唤机器人的“三剑客
    的头像 发表于 07-31 15:27 1841次阅读
    地平线:集齐“<b class='flag-5'>三剑客</b>”,让人人都能会造机器人

    Zynq UltraScale+RFSoC的AXI CDMA Linux用户空间示例

    本文将为您演示如何创建 AXI CDMA Linux 用户空间示例应用
    的头像 发表于 07-07 14:15 566次阅读
    Zynq UltraScale+RFSoC的AXI CDMA <b class='flag-5'>Linux</b>用户空间<b class='flag-5'>示例</b>

    STM32 Linux开发板丨STM32MP157开发板资料手册+实战教程+视频教程

    部分 开发板固件烧写 介绍了开发板烧写工具的使用,对要烧写的镜像以及 启动模式做了介绍 第四部分 开发板源码编译 讲解了我们烧写的镜像是如何编译而来的 第五部分 Qt应用开发 简单的讲解
    发表于 05-31 10:16

    你们知道前端大神是怎么学CSS的嘛

    有人说,要成为前端高手很容易:先学好 HTML/CSS/JavaScript 三剑客,再学会三大前端框架——Vue/React/Angular,快则三个月,慢则半年,前端的工作就没有搞不定的了。
    的头像 发表于 05-30 11:26 405次阅读

    shell脚本基础:正则表达式grep

    Linux上有许多命令可以使用正则表达式,其中最常见的是grep命令和sed命令。正则表达式有多种类型,每种类型中可以使用的元字符类型不同。最常见的是基本正则表达式和扩展正则表达式。
    的头像 发表于 05-29 09:29 766次阅读
    shell脚本基础:正则表达式<b class='flag-5'>grep</b>

    聊聊自动驾驶中的雷达“三剑客

    目前,应用于汽车无人驾驶的雷达主要有三种:超声波雷达、激光雷达和毫米波雷达。后两种雷达技术虽然属于后起之秀,但在最近几年,它们在自动驾驶中发挥的作用日益凸显。
    的头像 发表于 05-17 09:13 1952次阅读

    一款运行于windows上的linux命令神器-Cmder

    Cmder是一款Windows的命令行工具,用起来和Linux的命令一样顺畅。可以使用大量的Linux 命令,比如 grep, curl,vim, grep, tar, unzip,
    的头像 发表于 05-05 10:30 1600次阅读
    一款运行于windows上的<b class='flag-5'>linux</b>命令神器-Cmder

    Linux中的18个tar命令示例

    下面的示例命令将创建一个tar存档文件rumenz-14-09-12.tar对于目录/home/rumenz在当前工作目录中。请参阅示例命令的操作。
    的头像 发表于 05-04 14:59 629次阅读

    Linuxgrep、sed和awk命令详解

    今天给大家聊一聊Linux中文本操作的`三剑客:awk、grep、sed`,因其功能强大、使用频繁,且是Linux下文本处理的得力利器,常被称之为`文本
    发表于 04-26 17:20 1931次阅读
    <b class='flag-5'>Linux</b>中<b class='flag-5'>grep</b>、sed和awk命令详解