【发布时间】:2014-10-09 19:59:15
【问题描述】:
我需要使用 sed 命令对 xml 文件进行更新,但我遇到了这个问题。它需要在 Windows(使用 cygwin)和 Linux 上运行。
XML 包含以下元素:
...
<parameter name="jersey.test.host" value="localhost" />
...
我需要将值更新为任意值,例如“abc”。
我尝试了几个命令,例如:
sed -i "s#\(jersey.test.host\)\s*value="\(.*\)" />$#\1abc#" "C:\file.xml"
还有:
sed -i "s#<parameter name="jersey.test.host" value=".*" />#<parameter name="jersey.test.host" value="abc" />#"" "C:\file.xml"
但是当我运行命令时,文件并没有进行任何更改,我敢打赌,这意味着我没有正确匹配。
我不介意我是否也可以使用 awk 来做到这一点。任何可行的方法,只要在 Windows + Cygwin 和 Linux 中都可以使用相同的命令即可。
谁能帮我解决这个问题?任何指针都非常感谢!
谢谢!
【问题讨论】: