shell编程之正则表达式与文本工具

正则表达式

正则表达式,又称规则表达式。(英语: Regular Expression),在代码中常简写为regex、 regexp或
RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
正则表达式不只有一种,而且 LINUX中不同的程序可能会使用不同的正则表达式,如:工具: grep sed awk egrep

正则表达式—通常用于判断语句中,用来检查某一字符串是否满足某一格式正则表达式是由普通字符与元字符组成
普通字符包括大小写字母、数字、标点符号及一些其他符号
元字符是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式

linux中常用的有两种正则表达式引擎
●基础正则表达式:BRE

●扩展正则表达式:ERE

grep

语法:grep 【选项】… 查找条件 目标文件
-E :开启扩展(Extend)的正则表达式
-c : 计算找到’搜寻字符串·的次数
-i : 忽略大小写的不同,所以大小写视为相同
-o :只显示被模式匹配到的字符串
-v :反向选择,亦即显示出没有·搜寻字符串’
内容的那一行!(反向查找,输出与查找条件不相符的行)
- -color=auto :可以将找到的关键词部分加上颜色的显示喔!
-n :顺便输出行号

为了防止出错查找一串字符串时加上单引号

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

例如:我们过滤网卡ip地址
在这里插入图片描述

例如分别将非空行和空行写入到test.txt
^$ ”表示空行

在这里插入图片描述

基础正则表达式常见元字符

(支持工具:grep、egrep、sed、awk)

在这里插入图片描述

定位符
^ 匹配输入字符串开始的位置
$ 匹配输入字符串结尾的位置

非打印字符
\n 匹配一个换行符
\r 匹配一个回车符
\t 匹配一个制表符

例如查看以t开头的内容在这里插入图片描述
在这里插入图片描述

或者查看
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
注意这里匹配的是上一个字符的次数
在这里插入图片描述
在这里插入图片描述

-E 开启正则表达式功能就不需要加转义符
在这里插入图片描述

扩展正则表达式

扩展正则表达式(支持的工具:egrep、awk )
+ 作用:重复一个或者一个以上的前一个字符
示例:执行"egrep -n ‘wo+d’ test.txt"命令,即可查询"“wood”“woood”"woooooood"等字符串

? 作用:零个或者一个的前一个字符
示例:执行"egrep -n ‘bes?t’ test.txt"命令,即可查询"bet" "best"这两个字符串

l 作用:使用或者(or))的方式找出多个字符
示例:执行"egrep -n ‘oflislon’ test.txt"命令即可查询"of"或者"if"或者"on"字符串

() 作用:查找"组"字符串
示例:"egrep -n ‘t (al e) st’
test.txt”。“tast"与"test”因为这两个单词的"t"与"st"是重复的,所以将"a"与"e"列于”()“符号当中,并以”|"分隔,即可查询"tast"或者"test"字符串

()+ 作用:辨别多个重复的组
示例:“egre

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值