linux 中sed命令删除匹配字符之前的若干行
001、
(base) root@PC1:/home/test4# cat a.txt 1 2 3 4 34aaaa 5 6 7 aaaa 8 9 10 (base) root@PC1:/home/test4# sed -e:b -e '$!{N;1,1bb' -e\} -e '/\n.*aaa/!P;D' a.txt ## 删除匹配字符之前的一行 1 2 3 34aaaa 5 6 aaaa 8 9 10
002、
(base) root@PC1:/home/test4# cat a.txt 1 2 3 4 34aaaa 5 6 7 aaaa 8 9 10 (base) root@PC1:/home/test4# sed -e:b -e '$!{N;1,2bb' -e\} -e '/\n.*aaa/!P;D' a.txt ## 删除匹配字符之前的两行 1 2 34aaaa 5 aaaa 8 9 10
003、
(base) root@PC1:/home/test4# cat a.txt 1 2 3 4 34aaaa 5 6 7 aaaa 8 9 10 (base) root@PC1:/home/test4# sed -e:b -e '$!{N;1,3bb' -e\} -e '/\n.*aaa/!P;D' a.txt ## 删除匹配字符之前的三行 1 34aaaa aaaa 8 9 10