这可能有点复杂,但它是这样的:假设我有一个如下所示的 XML:
<a>
<b>000</b>
<c>111</c>
<b>222</b>
<d>333</d>
<c>444</c>
</a>
我如何在 Mac 上使用 sed 得到如下所示的 XML:
<a>
<b>111 000</b>
<b>222</b>
<d>333</d>
<c>444</c>
</a>
基本上:
- 匹配格式为 <b>...</b> 后跟 </c>...</c> 的 2 个连续行
- 取 <c>...</c> 之间的值并将其(加上一个空格字符)放在 <b> 之后的前一行
- 删除第二行 <c>...</c>
谢谢你。
如果 sed 太多了,请提供其他建议,只要我可以从 mac shell 运行它。