sed命令详解
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命令)
参考:http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.html