Linux 三剑客之 grep 教程详解

共 1208字,需浏览 3分钟

 ·

2021-02-13 10:58


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

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

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

示例实战

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

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

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

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

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

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

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

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

8. 删除掉空行

9. 过滤包含 root 或 syslog 的行

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

简单总结

通过了一些简单案例操作,我们应该已经熟悉了 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 的扩展参数来实现,所以就不再扩展。

良许个人微信


添加良许个人微信即送3套程序员必读资料


→ 精选技术资料共享

→ 高手如云交流社群





本公众号全部博文已整理成一个目录,请在公众号里回复「m」获取!

推荐阅读:

从 "�" 到 "锟斤拷",这都是些啥玩意?

推荐一款,比 Navicat 还要好用,功能还很强大的 工具!

亲历:一行代码,百万人民币打水漂!


5T技术资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,单片机,树莓派,等等。在公众号内回复「1024」,即可免费获取!!


浏览 39
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报