sed 命令
sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出都被打印到屏幕上。
sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存到一个临时缓冲区中(也称模式空间),然后处理历史缓冲区中的行,完成后把改行发送到屏幕上。sed每处理完一行就将其充临时缓冲区删除,然后将下一行读入,进行处理和显示。处理完输入文件的最后一行,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件。

选项:
-e : 进行多行编辑,即对输入行应用多条sed命令时使用
-n : 取消默认的输出
-f : 指定sed脚本的文件名

命令:
a\ : 在当前行后添加一行或多行。多行时除最后一行外,每行末尾需用'\'续行
c\ : 用此符号后的新文本替换当前行中的文本。多行时除最后一行外,每行末尾需用'\'续行
i\ : 在当前行之前插入文本。多行时除最后一行外,每行末尾需用'\'续行
d : 删除行
h : 把模式空间里的内容复制到暂存缓冲区
H : 把模式空间里的内容追加到暂存缓冲区
g :把暂存缓冲区里的内容复制到模式空间里,覆盖原有的内容
G : 把暂存缓冲区里的内容追加到模式空间里,追加在原有内容的后面
l : 列出非打印字符
p : 打印字符
n : 读入下一输入行,并从下一条命令而不是第一条命令开始对其处理,允许跨行的模式匹配语句
q : 结束或退出输入行
r : 从文件中读取输入行
! : 对所选行以外的所有行应用命令
s : 用一个字符串替换另一个
g : 在行内进行全局替换
w : 将所选的行写入文件
x : 交换暂存缓冲区与模式空间的内容
y : 将字符替换为另一个字符(不能对正则表达式使用y命令)