linux 中sed命令删除匹配字符之后的若干行()

001、

(base) root@PC1:/home/test2# cat a.txt                         ## 测试数据
1
2
3
k
4
5
6
7
k
8
9
10
(base) root@PC1:/home/test2# sed '/k/, +2{/k/b; d}' a.txt      ## 删除匹配k之后的两行
1
2
3
k
6
7
k
10
(base) root@PC1:/home/test2# sed '/k/, +1{/k/b; d}' a.txt       ## 删除匹配k之后的1行
1
2
3
k
5
6
7
k
9
10
(base) root@PC1:/home/test2# sed '/k/, +3{/k/b; d}' a.txt       ## 删除匹配k之后的3行
1
2
3
k
7
k
————————

001、

(base) root@PC1:/home/test2# cat a.txt                         ## 测试数据
1
2
3
k
4
5
6
7
k
8
9
10
(base) root@PC1:/home/test2# sed '/k/, +2{/k/b; d}' a.txt      ## 删除匹配k之后的两行
1
2
3
k
6
7
k
10
(base) root@PC1:/home/test2# sed '/k/, +1{/k/b; d}' a.txt       ## 删除匹配k之后的1行
1
2
3
k
5
6
7
k
9
10
(base) root@PC1:/home/test2# sed '/k/, +3{/k/b; d}' a.txt       ## 删除匹配k之后的3行
1
2
3
k
7
k