Expect正则表达式 ——sed

作者 : icbug 发布时间: 2020-06-7 文章热度:70 共1174个字,阅读需3分钟。 本文内容有更新 手机浏览

目 录

Expect正则表达式 ——sed

Expect正则表达式 ——sed-icbug创客

我们首先先来了解一下这个正则表达式的结构图

我们首先要知道:Linux的正则表达式不只一种:有sed、grep、awk。

常用的正则表达式引擎

基础正则表达式:BRE

扩展正则表达式:ERE

Shell正则表达式的组合

首先送给大家一张表格

Expect正则表达式 ——sed-icbug创客

点字符:

grep .ot /etc/icbug

这个是查找icbug这个文件中是否含有包含.ot的字符

知道这些之后,我们就可以sed流编辑器

Sed流编辑器

sed是什么?

sed是行编辑器,不是字处理器,由此可知sed其实就是一个文本编辑器,所有我们一般使用它操作纯ASCII码的文本,因为sed是按行进行编辑的,所以我们说他是一个行编辑器

sed的执行过程

一次读取一行数据 -->根据提供的规则匹配有关的数据 -->使用命令进行修改流中的数据 -->把结果进行输出 -->重复上面流程

如何使用??

命令格式:sed [options] ‘[commands]’ filename

sed参数

1.options:

(1) -a 在当前行下面插入文件。

(2) -n 读取下一个输入行,用下一个命令处理新的行而丌是用第一个命令。

(3)-e 执行多个 sed 指令。

(4)-f 运行脚本。

(5)-i 编辑文件内容xxx。

(6)-i.bak

编辑的同时创造文件备份。

(7)-r 使用扩展的正则表达式。

2 .commands:(区分大小写)

(1) i 在当前行上面插入文件。

(2)c 把选定的行改为新的指定的文本。

(3)p 打印 XXX。

(4)d 删除XXX。

(5)r/R 读取文件/一行。

(6)w 另存。

(7)s 查找。

(8)y 替换。

(9)h 拷贝模板块的内容到内存中的缓冲区。

(10) H 追加模板块的内容到内存中的缓冲区。

(11) g 获得内存缓冲区的内容,并替代当前模板块中的文本。

(12) G 获得内存缓冲区的内容,并追加到当前模板块文本的后面。

(13) D 删除\n 之前的内容。

(14) P 打印\n 之前的内容

3.替换标记

(1) 数字:表明新文本将替换第几处模式匹配的地方。

(2) g:表示新文本将会替换所有匹配的文本。

(3)&:保留搜索到的字符用来替换其它字符。

(4) \1:子串匹配标记,前面搜索可以用元字符集。

4.sed 匹配字符集

(1) ^ 匹配行开始,如:/^sed/匹配所有以 sed 开头的行。

(2) $ 匹配行结束,如:/sed$/匹配所有以 sed 结尾的行。

(3) . 匹配一个非换行符的任意字符,如:/s.d/匹配 s 后接一个任意字符,最后是 d。

(4) * 匹配 0 个或多个字符,如:/*sed/匹配所有模板是一个或多个空格后紧跟 sed 的行。

5.按行查找替换。

写法如下:

(1) 用数字表示行范围;$表示行尾。

(2) 用文本模式配置来过滤

6. d 删除第 2 行到第 4 行的内容、

7.添加行。

(1) 命令 i (insert 揑入),在当前行前面揑入一行 i\ 。

(2) 命令 a(append 附加),在当前行后面添加一行 a\ 。

常见问题FAQ

本站资源是否全部免费?
本站文章和普通速度下载资源免费,高速下载资源和讲解视频需要成为SVIP才能查看哦!
本站采用标准 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明!
icbug创客 » Expect正则表达式 ——sed

发表评论

CAPTCHAis initialing...