shell 正则表达式之grep与sed用法

一、前言
正则表达式,是一种匹配字符串的方法,通过一些特殊符号,实现快速查找、删除、替换某个特定字符串。 正则表达式是由普通字符与元字符组成的文字模式。 正则表达式一般用于脚本编程与文本编辑器中。
二、基础正则表达式
根据不同的严谨程度与功能:分为基本正则表达式与扩展正则表达式。基础正则表达式是常用的正则表达式的最基础的部分。在 Linux 系统中常见的文件处理工具中 grep 与 sed 支持基础正则表达式egrep 与 awk 支持扩展正则表达式。
2.1、grep命令
2.1、查找特定字符
-n :表示显示行号-i :表示不区分大小写-v : 表示反方向查找

在这里插入图片描述

在这里插入图片描述
如果是想查找不包含the的行,-vn选项即可:
在这里插入图片描述

中括号 [ ] 集合字符
当我们需要查找两个字符 “shirt” 和 “short” 这两个字符时,其中 i 和 o 都是相同的.可以用 [ ]来匹配字符,[ ] 中不论有几个字符,都仅代表一个字符

在这里插入图片描述

查找包含重复单个字符“oo”
在这里插入图片描述

集合字符的反向选择可以通过“[^]”实现 在 /etc/passwd文本中查找“oo” 前面不是“w”的字符串

在这里插入图片描述
检索“oo”前面不存在大小写字母的字符串

在这里插入图片描述
查找包含数字的行

在这里插入图片描述
2.2、元字符总结
在这里插入图片描述
三、扩展正则表达式
3.1、egrep命令
使用基础正则表达式查询除文件中空白行与行首为“#” 之外的行(通常用于查看生效的配置文件)
在这里插入图片描述
使用扩展正则表达式
在这里插入图片描述
3.2、扩展正则表达式常见元字符
在这里插入图片描述
3.3、正则表达式总结
grep命令都可以使用egrep实现 grep ‘o\ {2\ }’ /etc/passwd # 特殊符号需要用脱意符号\,不然无法识别 egrep ‘o{2}’ /etc/passwd # 用egrep命令,不需要脱意,{}表示前边字符的重复范围
grep命令:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值