grep正则表达式

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

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

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

基本正则表达式

3.正则表达式常用
在这里插入图片描述

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

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

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

扩展正则表达式

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

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

在这里插入图片描述
2)使用egrep取出/etc/rc.d/init.d/functions中其基名
在这里插入图片描述
其中" [ ^ /] "表示不是/,非的意思
3)使用egrep取出上一级路径的目录名
在这里插入图片描述
[/]表示上一级
![L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

  • 9
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
回答: 在Linux中,grep命令可以用于在文件中搜索匹配某个正则表达式的文本。下面是一些关于grep正则表达式的常见用法: 1. 使用`.`表示任意一个字符。例如,`grep '.' a.txt`将匹配包含任意一个字符的字符串。\[1\] 2. 使用`|`表示逻辑或操作符。例如,`grep 'fatal\|error\|critical' /var/log/nginx/error.log`将匹配包含单词"fatal"、"error"或"critical"的行。\[2\] 3. 使用`*`表示零次或多次匹配前面的字符或子表达式。例如,`grep 'se*' a.txt`将匹配包含以"s"开头,后面跟着零个或多个"e"的字符串,如"s"、"se"、"see"等。\[3\] 这些是grep正则表达式的一些基本用法,你可以根据具体的需求进行进一步的学习和使用。 #### 引用[.reference_title] - *1* *3* [Linux grep 正则表达式](https://blog.csdn.net/panguangyuu/article/details/105033383)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Linux Grep 正则表达式](https://blog.csdn.net/ZauberC/article/details/130629591)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值