Shell sed 截取指定开始和结束字符串的中间文本段

演示 sed 命令用法

vim /tmp/test_sed.txt

内容:

xxxxxxxxxxxxxx 
start_mark xxxxxx 
10  aaaaa  bbbb  cccc 
20  aaaaa  bbbb  cccc 
30  aaaaa  bbbb  cccc 
40  aaaaa  bbbb  cccc 
yyyyy end_mark
zzzzzzzzz

截取 start_mark 和 end_mark 中间行的文本:

sed -n '/^start_mark/,/end_mark$/p' /tmp/test_sed.txt | grep -Ev '(^start_mark|end_mark$)' 

输出:

10  aaaaa 
20  aaaaa 
30  aaaaa 
40  aaaaa

参考:https://yhz61010.iteye.com/blog/1565984