与模式空间和暂存空间(hold space)相关的命令:
n 首先输出当前模式空间行,然后读取下一行替换当前模式空间的行,继续执行后面的指令。
N 读入下一行,追加到模式空间行后面,此时模式空间有\n连接的两行,当作一行处理。
h 把模式空间里的行拷贝覆盖到暂存空间。
H 把模式空间里的行拷贝追加到暂存空间(以\n分割)。
g 用暂存空间的内容替换模式空间的行。
G 把暂存空间的内容追加到模式空间的行后(以\n分割)。
x 将暂存空间的内容与模式空间里的当前行互换。
! 对所选行以外的所有行应用命令。
注意:暂存空间里默认存储一个空行。
# 在偶数行后添加一个空行
root@bwhhkle:~# cat lines.bak
1
2
3
4
5
6
7
8
root@bwhhkle:~# sed 'n;G' lines.bak
1
2
3
4
5
6
7
8
# 把偶数行变为空行
root@bwhhkle:~# sed 'n;g' lines.bak
1
3
5
7