sed是行编辑器,使用过程中会把文件逐行提取处理,其本语法格式如下:
sed [选项] 处理条件 文件
-i :直接处理原文件
-n :静默模式,不显示模式空间的内容,默认会把处理的每一行显示一次
-e :多个选项中间用分号或-e隔开
-r :使用扩展正则表达式
sed支持的命令:
d :删除
示例:sed '/^#/d ; /^$/d' /etc/inittab : 删除以#开头的和空行
p :打印
示例:sed -n '/^#/d' /etc/inittab : 显示以#开头的行
a\ :在匹配到的行后边添加新内容
示例:sed '/^#/a\Hello' /etc/inittab : 在以#开头的行后边添加Hello
i\ :在匹配到的行前边添加新内容
r :在匹配到的行后边添加指定文件的内容
示例:sed -n '/^#/p ; //r/etc/fstab' /etc/inittab : 在以#开头的行后边增加/etc/fstab文件的内容
w :过滤特定条件,把匹配的行写入某一个文件,该操作会覆盖写入文件的原内容
示例:sed -n '/^#/p ; //wa.txt' ./inittab : 把以#开头的行写入到a.txt这个文件
n :显示该行但不处理,读取下一行到模式空间进行处理
示例:sed -n '/.*Run/n ; //p' ./inittab : 处理到包含Run的行则隐藏该行,直接显示下一行
N :把该行和下一行合并为一起处理
示例:sed -n '/^# If/N ; //p' ./inittab : 处理到包以# If开头的行,则读取下一行,把匹配到的行和下一行一起显示