9.4/9.5 sed
sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等
9.4/9.5 sed_第1张图片
9.4/9.5 sed_第2张图片
9.4/9.5 sed_第3张图片
9.4/9.5 sed_第4张图片
9.4/9.5 sed_第5张图片
9.4/9.5 sed_第6张图片
9.4/9.5 sed_第7张图片
9.4/9.5 sed_第8张图片
9.4/9.5 sed_第9张图片
9.4/9.5 sed_第10张图片
![](https://s4.51cto.com/images/blog/201804/26/3eb3f07f968ead585d2f05bac295a4d5.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
9.4/9.5 sed_第11张图片
9.4/9.5 sed_第12张图片

sed的一些资料:
命令 功能描述
a\ 在当前行的后面加入一行或者文本。
c\ 用新的文本改变或者替代本行的文本。
d 从pattern space位置删除行。
i\ 在当前行的上面插入文本。
h 拷贝pattern space的内容到holding buffer(特殊缓冲区)。
H 追加pattern space的内容到holding buffer。
g 获得holding buffer中的内容,并替代当前pattern space中的文本。
G 获得holding buffer中的内容,并追加到当前pattern space的后面。
n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。
p 打印pattern space中的行。
P 打印pattern space中的第一行。
q 退出sed。
w file 写并追加pattern space到file的末尾。
! 表示后面的命令对所有没有被选定的行发生作用。
s/re/string 用string替换正则表达式re。
= 打印当前行号码。

替换标记
g 行内全面替换,如果没有g,只替换第一个匹配。
p 打印行。
x 互换pattern space和holding buffer中的文本。
y 把一个字符翻译为另一个字符(但是不能用于正则表达式)。
选项
-e 允许多点编辑。
-n 取消默认输出。