1.sed工具概述
非交互,基于模式匹配过滤及修改文本
逐行处理,并将结果输出到屏幕
可实现对文本的输出/删除/替换/复制/剪切/导入/导出等操作
2.命令格式
前置命令 | sed [选项] ‘编辑指令’
sed [选项] ‘编辑指令’ 文件 … //编辑指令: [地址符]动作指令
3.常用选项
-n //屏蔽默认输出
-i //直接修改文件内容
-r //启用扩展正则,若与其他选项一起使用,应作为首个选项
4.常用动作指令
p //打印行(输出行)
d //删除行
s //字符串替换
// s/old/new/ #替换文本内每一行的第一个old,最后默认
s/old/new/2 #替换文本内每一行的第二个old
2s/old/new/g #替换文本内第二行的所有old
分隔符"/"可以替换其他字符:!@#
i
/
/
行
前
插
入
文
本
a
/
/
行
后
插
入
文
本
c
/
/
替
换
行
r
/
/
读
入
文
件
3
r
b
.
t
x
t
在
第
三
行
下
方
插
入
文
件
b
.
t
x
t
!
/
/
根
据
定
址
条
件
取
反
!
p
5.
特
殊
应
用
s
e
d
−
n
′
1
2
p
′
文
件
/
/
从
第
一
行
开
始
,
每
2
行
输
出
一
行
输
出
/
删
除
单
/
双
行
(
步
长
)
s
e
d
−
n
′
2
,
+
3
p
′
文
件
/
/
输
出
第
二
行
和
其
后
的
三
行
s
e
d
−
n
′
=
′
文
件
/
/
输
出
行
号
s
e
d
−
n
′
%^&*() i //行前插入文本 a //行后插入文本 c //替换行 r //读入文件 3r b.txt 在第三行下方插入文件b.txt ! //根据定址条件取反 !p 5.特殊应用 sed -n '1~2p' 文件 //从第一行开始,每2行输出一行 输出/删除单/双行(步长) sed -n '2,+3p' 文件 //输出第二行和其后的三行 sed -n '=' 文件 //输出行号 sed -n '
i//行前插入文本a//行后插入文本c//替换行r//读入文件3rb.txt在第三行下方插入文件b.txt!//根据定址条件取反!p5.特殊应用sed−n′1 2p′文件//从第一行开始,每2行输出一行输出/删除单/双行(步长)sed−n′2,+3p′文件//输出第二行和其后的三行sed−n′=′文件//输出行号sed−n′=’ 文件 //显示行数(输出最后一行行号)