如果我有一个XML,如下所示:
<a>
<b>...</b>
<c>...</c>
<c>...</c>
<d>..</d>
</a>
如何告诉sed(在mac上)只改变第一次出现的&lt; c&gt; ...&lt; / c&gt;进入&lt; e&gt; ...&lt; / e&gt;,同时仍保留开头和结束标签之间的内容(\ 1)?
谢谢
答案 0 :(得分:4)
这应该这样做:
sed '1,/<c>/s/^<c\(.*\)c>$/<e\1e>/'
答案 1 :(得分:1)