grep正则表达式

       首先,先来说一下grep的用法,grep就是用来对文本进行过滤。
       然后,什么是正则表达式呢?
       简单来说,正则表达式就是对字符串处理的方法,就是命令grep。

1.正则表达式分为两种:基本正则表达式和扩展正则表达式。

2.学习grep的时候要知道它的一下基本参数及作用
       grep常用的参数及作用:
       --color :匹配到的字符显色
       -i:忽略关键字的大小写
       -o: 截取匹配的字符串
       -v:对关键字取反
       -E:使用扩展正则
       -n:显示行号
       -w:匹配到的单词
       现在用实例来看一下各参数的作用
-i
在这里插入图片描述
-o(仅显示被搜索的关键字,文本中有几次就显示几次)
grep正则表达式_第1张图片
-v
grep正则表达式_第2张图片
-n 显示行号
在这里插入图片描述
-E 有些时候用grep会搜索不出来,但要搜索的内容里面实际上是有的,此时我们就要加上扩展正则
grep正则表达式_第3张图片

基本正则表达式

3.正则表达式常用
grep正则表达式_第4张图片

4.接下来来做几道练习题加深理解
1)显示/proc/meminfo文件中以大写或小写S开头的行 grep正则表达式_第5张图片
2)显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户
grep正则表达式_第6张图片
3)显示/etc/passwd文件中其默认shell为/bin/bash的用户
grep正则表达式_第7张图片
4)找出/etc/passwd文件中的一位数或两位数
grep正则表达式_第8张图片
5)显示~/.bashrc中以至少一个空白字符开头的行
在这里插入图片描述
6)找出netstat -tan命令执行结果中以’LISTEN’结尾的行
在这里插入图片描述
       这一题后面要加空格,因为内容本身就有空格
7)显示当前系统上root、u用户的默认shell
在这里插入图片描述
8)找出/etc/rc.d/init.d/functions文件中某单词后跟一组小括号"()"行
grep正则表达式_第9张图片
9)找出ifconfig命令结果中的1-255之间的数字
grep正则表达式_第10张图片
10)显示三个用户root、mage、wang的UID和默认shell
grep正则表达式_第11张图片
注意在grep中()与 [ ] 的区别

5.以以下文档为练习文档,注意最后一行有空行,保存为t
grep正则表达式_第12张图片
1)不想取 oo 前面有 g 的字符相关信息及行号
在这里插入图片描述
2)oo 前面不想要有小写的字符相关信息及行号
在这里插入图片描述
3)取得 the 只在行首相关信息及行号
在这里插入图片描述
4)不想要开头是英文字母 相关信息及行号
在这里插入图片描述
5)取得有 数字 相关信息及行号
grep正则表达式_第13张图片
6)取得开头是小写 相关信息及行号
grep正则表达式_第14张图片
7)取得行尾结束为小数点. 相关信息及行
grep正则表达式_第15张图片注意要加转义符’ \ ’
8)取得空白行 相关信息及行号
在这里插入图片描述
9)取得g??d 的字符相关信息及行号
在这里插入图片描述
10).取得至少两个 o 以上的字符相关信息及行号
grep正则表达式_第16张图片
11)取得开头与结尾都是 g ,两个g 之间仅能存在至少一个 o 相关信息及行号
在这里插入图片描述
12)取得g 开头与 g 结尾的字符,当中的字符可有可无 相关信息及行号
grep正则表达式_第17张图片
13)取得两个连续 o 的字符相关信息及行号

grep正则表达式_第18张图片
14)取得g 后面连接2到5个 o,然后再接一个 g 的字符相关信息及行号
在这里插入图片描述
注意加-E的是扩展正则表达式

扩展正则表达式

表示方法与两种:egrep 和 grep -E
grep正则表达式_第19张图片
1.练习题
1)显示CentOS7的/etc/grub2.cfg文件中,至少以一个空白字符开头的且后面有非空白字符的行
       第一种:grep “^(([[:alpha:]]|_)+()” /etc/rc.d/init.d/function

       第二种:grep “^([_[:alpha:]]+()” /etc/rc.d/init.d/function

grep正则表达式_第20张图片
2)使用egrep取出/etc/rc.d/init.d/functions中其基名
在这里插入图片描述
其中" [ ^ /] "表示不是/,非的意思
3)使用egrep取出上一级路径的目录名
在这里插入图片描述
[/]表示上一级
grep正则表达式_第21张图片

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