跟阿铭学 Linux
李世明
前腾讯高级运维工程师
522 人已学习
立即订阅
跟阿铭学 Linux
15
15
1.0x
00:00/00:00
登录|注册

第 11 章 正则表达式

这部分内容可以说是学习 shell 脚本之前的必学内容,这部分内容学得越好,你编写 shell 脚本的能力就会越强。所以你要用心学习,多加练习,练习多了就能熟练掌握 shell 脚本了。如果在本章遇到困难,可以通过阿铭的微信获取帮助。
在计算机科学中,对“正则表达式”的定义是:它使用单个字符串来描述或匹配一系列符合某个句法规则的字符串。在很多文本编辑器或其他工具里,正则表达式通常用来检索和替换那些符合某个模式的文本内容。许多程序设计语言也都支持利用正则表达式进行字符串操作。对于系统管理员来讲,正则表达式贯穿在日常运维工作中,无论是查找某个文档,还是查询某个日志文件并分析其内容,都会用到正则表达式。
其实正则表达式只是一种思想、一种表示方法。只要我们使用的工具支持这种表示方法,那么这个工具就可以处理正则表达式的字符串。常用的工具有 grep、sed、awk 等,其中 grep、sed 和 awk 都是针对文本的行进行操作的,下面阿铭就分别介绍一下这 3 种工具的使用方法。

11.1 grep/egrep 工具的使用

阿铭在前面多次用到了grep命令,可见它的重要性。该命令的格式为:grep [-cinvABC] 'word' filename,其常用的选项如下所示。
-c:表示打印符合要求的行数。
-i:表示忽略大小写。
-n:表示输出符合要求的行及其行号。
-v:表示打印不符合要求的行。
-A:后面跟一个数字(有无空格都可以),例如-A2表示打印符合要求的行及其下面两行。
-B:后面跟一个数字,例如-B2表示打印符合要求的行及其上面两行。
-C:后面跟一个数字,例如-C2表示打印符合要求的行及其上下各两行。
首先看看-A-B-C这 3 个选项的用法。
-A2会把包含halt的行以及这行下面的两行都打印出来:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入介绍了正则表达式在计算机科学中的重要性以及在系统管理员日常运维工作中的应用。作者首先解释了正则表达式的定义和作用,指出它是一种描述或匹配符合特定句法规则的字符串的方法。随后,作者详细介绍了grep、sed和awk等工具的使用方法,重点讲解了grep命令的常用选项及实际应用场景。 在具体示例中,作者通过命令行展示了grep命令的不同选项的使用方法,包括过滤带有某个关键词的行并输出行号、过滤不带有某个关键词的行并输出行号、过滤包含数字的行、过滤不包含数字的行以及过滤掉所有以#开头的行等。这些示例帮助读者更深入地理解了grep命令的实际操作方法,为他们在日常工作中处理文本内容提供了实用的技巧和方法。 总的来说,本文通过详细的示例和解释,帮助读者快速了解了正则表达式的基本概念和grep命令的实际应用,为他们提升系统管理和运维工作中的效率提供了有力的帮助。文章内容丰富,实用性强,对于需要提升系统管理和运维工作效率的读者来说,是一篇不可多得的技术指南。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《跟阿铭学 Linux》
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 无咎
    建议所有演示的文件,比如:test.txt,内容托管到服务器如github,这样便于读者联系命令,复现结果。
    2024-02-04归属地:天津
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部