06文本搜索工具——grep以及正则表达式

一、grep工具的使用

可以通过返回状态码判断文件有没有这个数据,有状态码为0,没有为1。文件不存在状态码为2

06文本搜索工具——grep以及正则表达式_第1张图片

06文本搜索工具——grep以及正则表达式_第2张图片

06文本搜索工具——grep以及正则表达式_第3张图片

-o:

06文本搜索工具——grep以及正则表达式_第4张图片

06文本搜索工具——grep以及正则表达式_第5张图片

二、正则表达式

1、基本正则表达式

06文本搜索工具——grep以及正则表达式_第6张图片

.为匹配任意字符,..两个两个匹配任意字符,...三个三个匹配任意字符

*:对前一项重复0~多次

06文本搜索工具——grep以及正则表达式_第7张图片

{m, n}指定匹配多少次,需要加\对{}进行转义

06文本搜索工具——grep以及正则表达式_第8张图片

匹配一次、匹配两次:

06文本搜索工具——grep以及正则表达式_第9张图片

最少一次,最多不管、最多两次,最少不限

06文本搜索工具——grep以及正则表达式_第10张图片

匹配[]内的单一字符

06文本搜索工具——grep以及正则表达式_第11张图片

不匹配[]中的任意一个字母,即除了h和w其他都匹配

06文本搜索工具——grep以及正则表达式_第12张图片

匹配以h或w开头的行:

06文本搜索工具——grep以及正则表达式_第13张图片

匹配不以h或w开头的行:

06文本搜索工具——grep以及正则表达式_第14张图片

任意字符重复0~多次,\1表示第一个()中的字符,即第一个表达式,即love。即匹配love和love之间可以有任意0~多个字符的行

06文本搜索工具——grep以及正则表达式_第15张图片

因为文件中test和ceshi之间是空格,而过滤的没有

06文本搜索工具——grep以及正则表达式_第16张图片

06文本搜索工具——grep以及正则表达式_第17张图片

匹配以bea开头的单词,不是行

06文本搜索工具——grep以及正则表达式_第18张图片

06文本搜索工具——grep以及正则表达式_第19张图片

匹配以ful结尾的单词

既有词首锚定,又有词尾锚定表示匹配这个单词

注意:不等同于grey beauty

06文本搜索工具——grep以及正则表达式_第20张图片

06文本搜索工具——grep以及正则表达式_第21张图片

等同于-w,按照单词匹配

\<    \>  也可以用 \b  \b

2、扩展正则表达式

06文本搜索工具——grep以及正则表达式_第22张图片

匹配字符a或者r:使用基本正则或者扩展正则(|),扩展正则需要加-E

06文本搜索工具——grep以及正则表达式_第23张图片

两者区别在于基本正则只能匹配单字符,扩展正则能匹配多字符:

?在命令行中表示匹配任意一个字符,???表示匹配任意三个字符

06文本搜索工具——grep以及正则表达式_第24张图片

匹配he,l出现0~1次两种写法:

匹配he,l出现1次~多次两种写法:

06文本搜索工具——grep以及正则表达式_第25张图片

你可能感兴趣的:(正则表达式,shell)