sed初学总结

概念
sed全名叫stream editor,流编辑器。用无交互式的方式来编辑文本。
我们知道,vim/vi 采用的是交互式文本编辑模式,你可以用键盘命令来交互性地插入、删除或替换数据中的文本。但本节要讲的 sed 命令不同,它采用的是流编辑模式,最明显的特点是,在sed 处理数据之前,需要预先提供一组规则,sed会按照此规则来编辑数据,实现无交互式编辑数据。
sed也是支持正则表达式的,如果要使用扩展正则加参数-r
执行过程
sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。
具体过程如下:
1、首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间)。
2、然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。
3、sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示。
4、处理完输入文件的最后一行后,sed便结束运行。
大家需要注意,sed 默认不会直接修改源文件数据,而是会将数据复制到缓冲区中,修改也仅限于缓冲区中的数据,并把修改结果只显示到屏幕上,除非使用"-i"选项才会直接修改文件。
基本格式
sed 命令的基本格式如下:
[root@localhost ~]# sed [选项] ‘[动作指令]’ filename
选项
-n 默认情况下,sed 会在动作指令执行完毕后,自动输出处理后的内容,而该选项会屏蔽默认输出。
-e 执行多个sed指令
-i 此选项会直接修改源文件,要慎用,修改前建议先备份源文件。
-i.bak 编辑源文件的同时创造.bak的备份
-r 使用扩展的正则表达式
动作指令:
p 打印 ,输出指定的行
S 替换,替换指定字符串
d 删除,删除行
a 增加行,在当前行下面插入文件
i 增加行,在当前行上面插入文件
c 把选定的行改为新的指定的文本
r 读取文件,即用于将一个独立文件的数据插入到当前数据流的指定位置
w 另存为
注意:动作指令要是用单引号或双引号括起来。
sed常用动作指令:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值