你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Linux 系统中的grep 命令

[复制链接]
gaosmile 发布时间:2021-2-20 11:19
我们在使用 Linux 系统中,grep 命令的使用尤为频繁,熟练掌握 grep 的常见用法,能够极大地提高你的工作效率。
grep 命令是一种强大的文本搜索工具,它能使用正则表达式,按照指定的模式去匹配,并把匹配的行打印出来。需要注意的是,grep 只支持匹配而不能替换匹配的内容,替换的功能可以由 sed 来完成。
整体上 grep 还是比较简单的,文中不会详细列举所有的选项和参数,会以多个具体示例来说明 grep 的使用方法和场景,帮助你快速学会 grep 的常见用法。
示例实战
废话不说了,直接实战。文章中的示例 需要一个样例文件,文件内容如下:
微信图片_20210220111739.png
1. 把包含 syslog 的行过滤出来
微信图片_20210220111742.png
2. 把以 ntp 开头的行过滤出来
微信图片_20210220111745.png
3. 把匹配 ntp 的行以及下边的两行过滤出来
微信图片_20210220111749.png
4. 把包含 syslog 及上边的一行过滤出来
微信图片_20210220111752.png
5. 把包含 syslog 以及上、下一行内容过滤出来
微信图片_20210220111756.png
6. 过滤某个关键词,并输出行号
微信图片_20210220111800.png
7. 过滤不包含某关键词,并输出行号
微信图片_20210220111803.png
8. 删除掉空行
微信图片_20210220111806.png
9. 过滤包含 root 或 syslog 的行
微信图片_20210220111809.png
10. 查看当前目录中包含某关键词的所有文件(这个很有用)
微信图片_20210220111815.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 的扩展参数来实现,所以就不再扩展。


收藏 评论0 发布时间:2021-2-20 11:19

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版