目录
一、正则表达式
1.1.正则表达式介绍
1.2.正则表达式分类
1.3.元字符
1.4.扩展正则表达式元字符
二、sed编辑器
2.1.sed编辑器是什么
2.2.sed编辑器的工作流程
2.3.sed命令格式
一、正则表达式
1.1.正则表达式介绍
1、正则表达式---通常用于判断语句中,用来检查某一字符串是否满足某一格式
2、正则表达式是由普通字符与元字符组成
3、普通字符包括大小写字母、数字、标点符号及一些其他符号
4、元字符是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符或表达式)在目标对象中的出现模式
1.2.正则表达式分类
基础正则表达式
扩展正则表达式
唯一区别:基础正则表达式有 \ 转义,扩展正则表达式没有
gerp sed 默认使用基础正则表达式
grep -E ,sed -r,egrep,awk 使用扩展正则表达式
1.3.元字符
字符 | 作用 |
---|---|
\ | 转义字符,可以把一些特殊的符号转换成普通的符号字符,还可以把一些普通字符转换成特殊功能,例:\!、\n、\$等 |
^ | 表示匹配字符串开始的位置,匹配行首,例: ^a、 ^# |
$ | 表示匹配字符串末尾的位置,匹配行尾,例: word$、 #$ ;^$表示空行 |
. | 匹配除\n之外的任意的一个字符,例: go.d、g..d |
* | 匹配前面子表达式0次或者多次,例: goo*d、go.*d |
.* | 表示任意长度的任一字符 |
[my] | 表示匹配[ ]中包含的任一字符 |
[^my] | 表示匹配除[ ]中包含的任一字符 |
\{n\} | 匹配前面的子表达式n次,例:mo\{2\}y、'[0-9]\{ 2\ }'匹配两位及两位以上数字 |
\{n,\} | 匹配前面的子表达式不少于n次,例: mo\{2,\}y、'[0-9]\{2,\}'匹配两位及两位以上数字 |
\{n,m\} | 匹配前面的子表达式n到m次(m>=n),例: mo\{2,3\}y、'[0-9]\{2,3\}'匹配两位到三位数字 |
注: egrep(grep-E)、awk使用{n }、{n, }、{n,m}匹配时"{}”前不用加"\" | |
\w | 匹配包括下划线的任何单词字符 |
\W | 匹配任何非单词字符。等价于"[^A-Za-z0-9_]"。 |
\d | 匹配一个数字字符 |
\D | 匹配一个非数字字符。等价于[^0-9]。 |
\s | 空白符 |
\S | 非空白符 |
1.4.扩展正则表达式元字符
字符 | 作用 |
---|---|
+ | 表示匹配前面的子表达式1次以上 |
? | 表示匹配前面的子表达式0或者1次 |
( ) | 将括号里的内容看成一个整体 |
| | 以或的方式匹配字符串 |
二、sed编辑器
2.1.sed编辑器是什么
是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。
sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个
命令文本文件中。
2.2.sed编辑器的工作流程
sed 的工作流程主要包括读取、执行和显示三个过程:
读取: sed从输入流(文件、管道、标准输入)中读取一行内容并存储到临时的缓冲区中(又称模式空间,pattern space )。
执行:默认情况下,所有的sed 命令都在模式空间中顺序地执行, 除非指定了行的地址,否则sed命令将会在所有的行上依次执行。
显示:发送修改后的内容到输出流(屏幕)。在发送数据后,模式空间将会被清空。在所有的文件内容都被处理完成之前,上.述过程将重复执行,直至所有内容被处理完。
在所有的文件内容都被处理完成之前,上述过程将重复执行,直至所有内容被处理完。
注意:默认情况下所有的sed命令都是在模式空间内执行的,因此输入的文件并不会发生任何变化,
除非是用重定向存储输出或者sed -i.
2.3.sed命令格式
sed [选项]... {脚本(如果没有其他脚本)} [输入文件]...
选项 | 作用 |
-e或--expression= | 表示用指定命令来处理输入的文本文件,只有一个操作命令时可省略,一般在执行多个操作命令使用 |
-f或--file= | 表示用指定的脚本文件来处理输入的文本文件 |
-h或--help | 显示帮助 |
-n、--quiet或silent | 禁止sed编辑器输出,但可以与p命令一起使用完成输出 |
-i | 直接修改目标文本文件 (建议先验证命令或备份目标文件) |
-r | sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法) |
常用操作
操作 | 作用 |
s | 替换,替换指定字符 |
d | 删除,删除选定的行 |
a | 增加,在当前行下面增加一行指定内容 |
i | 插入,在选定行上面插入一行指定内容 |
c | 替换,将选定行替换为指定内容 |
y | 字符转换,转换前后的字符长度必须相同 |
p | 打印,如果同时指定行,表示打印指定行;如果不指定行,则表示打印所有内容;如果有非打印字符,则以ASCII码输出。其通常与"-n"选项一起使用。 |
= | 打印行号 |
l(小写L) | 打印数据流中的文本和不可打印的ASCII字符(比如结束符$、制表符\t) |
猜你喜欢
- 22天前(上海文旅产业发展高峰论坛)《上海打造文旅元宇宙新赛道行动方案》发布
- 22天前(临沂 凯悦)临沂第一家凯悦嘉轩酒店开幕迎宾
- 22天前(札幌小樽市)2024年暑期飞往北海道避暑吧!札幌小樽city walk路线推荐
- 22天前(苏梅岛普吉岛哪个好玩)苏梅岛金普顿基塔蕾度假酒店推出家庭度假套餐
- 22天前(澳涞坞是什么)从本土品牌到全球舞台:澳涞山庄获国际顶级产业资源加持
- 22天前(中国旅游集团旗下酒店)中国旅游集团酒店控股有限公司战略投资雅阁酒店集团
- 22天前(“百场黄梅唱响百家景区”示范演出活动在黄山风景区举行)“百场黄梅唱响百家景区”示范演出活动在黄山风景区举行
- 22天前(殷建祥简历)全国十大牛商解码:殷建祥如何用178天技术突围打造星空梦星空房
- 22天前(新西兰登陆《我的世界》!全球首个目的地游戏模组震撼上线)新西兰登陆《我的世界》!全球首个目的地游戏模组震撼上线
- 22天前(阿斯塔纳航空属于哪个联盟)阿斯塔纳航空荣获Skytrax世界航空公司大奖,将继续助力中哈交流往来
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章