阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux三剑客之grep详解

33次阅读
没有评论

共计 913 个字符,预计需要花费 3 分钟才能阅读完成。

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

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

Linux 三剑客之 grep 详解

rep 命令是一种强大的文本搜索工具,它能使用正则表达式,按照指定的模式去匹配,并把匹配的行打印出来。需要注意的是,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 详解

9. 过滤包含 root 或 syslog 的行

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 相似的工具还有 egrep、fgrep,实用性并不强,其功能完全可以通过 grep 的扩展参数来实现,所以就不再扩展。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计913字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中