给定一个特定的 XML 元素(即特定的标记名称)和一段 XML 数据,我想从该元素的每次出现中提取子元素。更具体地说,我有以下(不太有效的)XML 数据片段:
<!-- data.xml -->
<instance ab=1 >
<a1>aa</a1>
<a2>aa</a2>
</instance>
<instance ab=2 >
<b1>bb</b1>
<b2>bb</b2>
</instance>
<instance ab=3 >
<c1>cc</c1>
<c2>cc</c2>
</instance>
Run Code Online (Sandbox Code Playgroud)
我想要一个脚本或命令,它将这些数据作为输入并产生以下输出:
<a1>aa</a1><a2>aa</a2>
<b1>bb</b1><b2>bb</b2>
<c1>cc</c1><c2>cc</c2>
Run Code Online (Sandbox Code Playgroud)
我希望解决方案使用标准文本处理工具,例如sed
或awk
。
我尝试使用以下sed
命令,但没有奏效:
sed -n '/<Sample/,/<\/Sample/p' data.xml
Run Code Online (Sandbox Code Playgroud)