sed 命令使用示例

常用选项说明

-n    使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN (例如文件内容)的内容一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-i 直接修改读取的内容,而不是由屏幕输出。
-f 直接将 sed 的动作写在一个文件内, -f filename 则可以执行 filename 内的sed 动作;

常用命令

a    追加, a 的后面可以接字符串,而这些字串会在新的一行出现(当前行的下一行)
i 插入, i 的后面可以接字符串,而这些字串会在新的一行出现(目前行的上一行);
c 替代, c 的后面可以接字符串,替换整行
s 替换, s/a/b/,a 替换成 b
d 删除
p 打印指定行

行定位方法

根据行号打印出指定行,$ 表示最后一行,! 取反,排除行

sed -n '1p' file
sed -n '1,10p' file
sed -n '2,$p' file
# 打印除最后一行之外的其他行
sed -n '$!p' file

打印出搜索匹配到的行

sed -n '/root/p' file

# 打印出匹配'begin'开始的行,到匹配到'end'的行结束
sed -n '/begin/,/end/p'
sed -n '/begin/,/end/!p'

常用示例

搜索包含指定内容的行,并替换整行内容

使用 c 命令,替换整行内容

sed -i '/^updated/cupdate=1' file

每行的行首或行位添加内容

^$ 匹配行首和行尾

sed -i `s/^/添加内容/g` file