shell高级-----sed进阶

多行命令

next命令

1、当行next命令

有时候可能会有一些奇怪的需求,比如删除某行之后的空白行,如果你写一个删除空白行的脚本,可能不小心把所有的空白行都删除了。

[root@node1 ljy]# more test.txt 
123123
1231
121222222
412345341613
o

vsdvs
qwer12344123
12345

34211
444444
[root@node1 ljy]# sed '/^$/d' test.txt 
123123
1231
121222222
412345341613
o
vsdvs
qwer12344123
12345
34211
444444

n命令会让sed编辑器移动到文本的下一行,也就是那个空行。

[root@node1 ljy]# more test.txt 
123123
1231
121222222
412345341613
o

vsdvs
qwer12344123
12345

34211
444444
[root@node1 ljy]# 
[root@node1 ljy]# 
[root@node1 ljy]# sed '/o/{n ; d}' test.txt 
123123
1231
121222222
412345341613
o
vsdvs
qwer12344123
12345

34211
444444

2、合并文本行

原文地址:https://www.cnblogs.com/jinyuanliu/p/10996459.html