sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。 sed的选项、命令、替换标记 命令格式 sed [options] ‘command‘ file(s) sed [options] -f scriptfile file(s) 选项 -e
命令格式
sed [options] `command` file(s) sed [options] -f scriptfile file(s)
选项
-e(script)或--expression=(scrip):以选项中指定的script来处理输入的文本文件 -f(script文件)或--file=(script文件):以选项中指定的script文件来处理输入的文本文件 -n或--quiet或--silent:仅显示script处理后的结果 -V或--version:显示版本信息
sed命令
a\ 在当前行下面插入文本
i\ 在当前行上面插入文本
c\ 把选定的行改为新的文本
d 删除,删除选择的行
D 删除模块的第一行
s 替换指定字符
h 拷贝模块的内容到内存中的缓冲区
H 追加模块的内容到内存中的缓冲区
sed替换标记
g 表示行内全面替换 p 表示打印行 w 表示把行写入一个文件
x 表示莫板块中的文本和缓冲区中的文本
y 表示把一个字符翻译为另外的字符
g 已匹配字符串标记
cp /etc/passwd ./file
sed ‘1,10s/root/roots/‘ file
-n选项和p命令一起使用表示只打印那些发生替换的行:
sed -n ‘1,10s/root/roots/p‘ file
删除空白行
sed ‘/^$/d file
删除文件的第二行
sed ‘2d‘ file
sed ‘2,$d‘ file
sed ‘/^test/d‘ file
原文:http://www.cnblogs.com/Nyan-Workflow-FC/p/6238329.html