在 Mac 上用 sed 替换 XML 属性

Replace XML attribute with sed on Mac

我正在尝试在 Mac OS X 上用 sed 替换 xml 属性,但无法正常工作。

我要匹配name="..."并替换为name="Test"

我正在使用以下 sed,它不起作用:

sed -i -E 's/name="\(.*?\)"/name="Test"/' file.xml

谁能告诉我哪里错了?

不需要赶团等,这样就够了:

sed -E 's/name="[^"]*"/name="Test"/' file.xml

看到它只查找 name=" 后跟不来自 ".

的任何字符

测试

$ cat hi
<test name="hello buddy">aaa</test>
$ sed -E 's/name="[^"]*"/name="Test"/' hi
<test name="Test">aaa</test>