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

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 取消默认输出。