使用Sed保留文件中指定XML片段 删除其余无关内容
解决保留指定XML片段的问题
你可以用sed的区间匹配同时处理开头和结尾的内容,把两个条件结合起来:
sed -n '/<?xml version="1.0/,/<\/martif>/p' file > result.txt
解释:
-n限制仅输出匹配到的内容,避免默认打印所有行/起始正则/,/结束正则/p匹配从起始标记行到结束标记行的所有内容,并通过p命令打印出来
如果你的XML片段存在换行导致</martif>不单独成行的情况,sed处理起来会受限,这时可以用awk,它对跨行匹配的兼容性更好:
awk '/<?xml version="1.0"/,/<\/martif>/' file > result.txt
内容的提问来源于stack exchange,提问作者CrisU
相关产品推荐
相关产品推荐

