0
4

3 回答 3

2

这对我有用:

$ sed 's#\(<a href[^>]*>\)\(<a id[^>]*>\)#\2\1#g' b
<h2 class="chapter-title"><a id="Anchor"/><a href="contents.html#Endnotes">Endnotes and References</a></h2>

我们查找文本<a href[^>]并将其保存在第一个变量中。然后我们查找文本<a id[^>]并保存在第二个变量中。最后我们交换它们。

请注意,这<a id[^>]意味着“从字符开始<a id>字符的所有内容。

于 2013-06-27T09:19:07.107 回答
0

你可以试试这个,我认为这应该工作

<a id="Anchor" href="contents.html#Endnotes">EndNotes and Refrences</a>
于 2013-06-27T09:35:13.913 回答
0

我这应该工作。您只需要两个捕获组,一个用于 the <a href...>,另一个用于<a id...>.

sed 's#\(<a [^>]*href\s*=\s*"[^"]+"[^>]*>\)\(<a [^>]*id\s*=\s*"[^"]+"[^>]*>\)#\2\1#'
于 2013-06-27T09:20:59.063 回答