文章目录
前言
-
正则表达式,又称规则表达式(Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
-
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
-
sed是文本处理工具,可以读取文本内容,根据指定条件对数据进行添加,删除,替换等操作,被广泛应用于shell脚本
-
awk是一个功能强大的编辑工具,用于在Linux/Unix下对文本和数据进行处理。
一、正则表达式grep
1.1:正则表达式的定义
-
正则表达式又称正规表达式、常规表达式。在代码中常简写为 regex、regexp 或 RE。正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串,简单来说, 是一种匹配字符串的方法,通过一些特殊符号,实现快速查找、删除、替换某个特定字符串。
-
正则表达式是由普通字符与元字符组成的文字模式。模式用于描述在搜索文本时要匹 配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进 行匹配。其中普通字符包括大小写字母、数字、标点符号及一些其他符号,元字符则是指 那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符 前面的字符)在目标对象中的出现模式。
-
正则表达式一般用于脚本编程与文本编辑器中。很多文本处理器与程序设计语言均支持正则表达式,例如 Linux 系统中常见的文本处理器(grep、egrep、sed、awk)以及应用比较广泛的 Python 语言。正则表达式具备很强大的文本匹配功能,能够在文本海洋中快速高效地处理文本。
1.2:正则表达式用途
- 正则表达式对于系统管理员来说是非常重要的,系统运行过程中会产生大量的信息,这些信息有些是非常重要的,有些则仅是告知的信息。身为系统管理员如果直接看这么多的信息数据,无法快速定位到重要的信息。
- 如“用户账号登录失败”“服务启动失败”等信息。这时可以通过正则表达式快速提取“有问题”的信息。
1.3:基础正则表达式
- 正则表达式的字符串表达方法根据不同的严谨程度与功能分为基本正则表达式与扩展正则表达式
- 基础正则表达式是常用的正则表达式的最基础的部分,在 Linux 系统中常见的文件处理工具中 grep 与 sed 支持基础正则表达式
- 而 egrep 与 awk 支持扩展正则表达式
1.4:基础正则表达式元字符
1.5:基础正则表达式:grep命令
下面以grep工具,/etc/passwd文件为例,介绍基础正则表达式
1.5.1:查找特定字符
- “-n”表示显示行号
- “-i”表示不区分大小写
- 命令执行后,符合匹配标准的字符,字体颜色会变为红色
- 从 /etc/passwd文件中查找出特定字符“the” 所在位置