命令中的正则表达式

使用文件名通配符模糊查找文件非常高效,而如果要在命令输出或文本中筛选内容时使用模糊查找,就需要使用正则表达式。

正则表达式是一套由多个元字符组成的模糊查找模式,使用正则表达式可以快速查找和定位文本中指定的内容。

Linux系统中许多工具都可以使用正则表达式,这些工具包括grep、awk、sed和vi等。

正则表达式主要由一些元字符和匹配模式组成,常用的元字符和匹配模式介绍如下:

1、单字符匹配符“.”

单字符匹配符“.”可以匹配任何单个字符,这个字符的功能与文件名匹配符中的“?”功能相同。

要使用正则表达式查找文本,首先需要使用元字符组成一个查找模式。与文件名通配符一样,查找模式由精确匹配字符和正则表达式的元字符组成。

2、单字符或字符串重复匹配符“*”

单字符或字符串重复匹配符“*”用来匹配单个字符或一个字符串序列的一次或多次重复出现,在匹配时可以是已经出现的字符或字符串的重复,也可以是没有出现过的字符或字符串的重复。

3、行首匹配符“^”

行首匹配符“^”用于在匹配中指示行首位置字符串或模式,因此使用时需要将行首匹配符放在要匹配的字符串或模式的前面。

4、行尾匹配符“$”

行尾匹配符“$”用于在文本的每一行的行尾匹配字符串或模式。由于其匹配的是行尾,因此在使用时应当将行尾匹配符放在匹配字符串或模式的后面。

5、反斜杠屏蔽符“\”

与前面的文件名匹配符一样,反斜杠用来屏蔽一些特殊字符的特殊含义.

常见的特殊字符可能是:

注释/分隔符号:#  ;等

引用符号:$   ``  “”等

元字符:.  *  ^  $  ?   []   \ 等

逻辑运算符和操作符:||   && 等

6、范围匹配符“[]”和排除范围匹配符“[^]”

同文件名通配符。

7、词首、词尾匹配符“\<”和 “\>”

8、重复次数匹配符 “\{\}”

(1)要匹配字母m出现次数为5次的文本:

[root@localhost test]# grep -n 'm\{5\}' re.txt

(2)要匹配字母m出现次数至少5次的文本:

[root@localhost test]# grep -n 'm\{5,\}' re.txt

(3)匹配字母m出现5次到10次的文本:

[root@localhost test]# grep -n 'm\{5,10\}' re.txt

9、组合并使用正则表达式

(1)0个或多个任意字符:   .*

(2)空行: ^$

(3)整行: ^.*$

(4)匹配以the或The开头的所有行: ^[tT]he

(5)匹配一个IP地址: [0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}

(6)精确匹配单词love: \<love\>

posted @ 2013-12-06 15:17  ITtecman  阅读(373)  评论(0编辑  收藏  举报