使用sed(Windows&x2B;cygwin和Linux)更新xml属性?
我需要使用sed命令对xml文件进行更新,但我在这方面遇到了问题。。它需要在Windows(使用cygwin)和Linux上运行 XML具有以下元素:使用sed(Windows&x2B;cygwin和Linux)更新xml属性?,xml,linux,windows,sed,Xml,Linux,Windows,Sed,我需要使用sed命令对xml文件进行更新,但我在这方面遇到了问题。。它需要在Windows(使用cygwin)和Linux上运行 XML具有以下元素: ... <parameter name="jersey.test.host" value="localhost" /> ... 而且: sed -i "s#<parameter name="jersey.test.host" value=".*" />#<parameter name="jersey.test.
...
<parameter name="jersey.test.host" value="localhost" />
...
而且:
sed -i "s#<parameter name="jersey.test.host" value=".*" />#<parameter name="jersey.test.host" value="abc" />#"" "C:\file.xml"
sed-i“s####”C:\file.xml
但是当我运行命令时,不会对文件执行任何更改,我打赌这意味着我没有正确匹配
我不介意我是否也可以使用awk来实现这一点,只要相同的命令可以在Windows+Cygwin和Linux中使用就行了
有人能帮我解决这个问题吗?非常感谢任何指点
谢谢!如果sed命令包含双引号,则应将其括在单引号(或转义双引号)中 以下命令应执行此工作:
sed -i 's#<parameter name="jersey.test.host" value=".*" />#<parameter name="jersey.test.host" value="abc" />#' "C:\file.xml"
sed-i的“C:\file.xml”
如果sed命令包含双引号,则应将其括在单引号(或转义双引号)中
以下命令应执行此工作:
sed -i 's#<parameter name="jersey.test.host" value=".*" />#<parameter name="jersey.test.host" value="abc" />#' "C:\file.xml"
sed-i的“C:\file.xml”
您也可以使用awk
来解决此问题:
awk -F\" '$2=="jersey.test.host" {$4="abc"}1' OFS=\" file
<parameter name="jersey.test.host" value="abc" />
您还可以使用
awk
来解决此问题:
awk -F\" '$2=="jersey.test.host" {$4="abc"}1' OFS=\" file
<parameter name="jersey.test.host" value="abc" />