我需要在 ec2-instance 中运行一个用户数据脚本来更改文件夹中的XML。
我在 ec2 :
的路径中有一个像这样的XML<Root>
<Properties>
<Property>
<Name>myProp</Name>
<Value>old_value</Value>
</Property>
<Property>
<Name>anotherProp</Name>
<Value>other_value</Value>
</Property>
</Propierties>
</Root>
我想将 old_value 更改为 new_value 。但只是那个,而不是 other_value 。
我该怎么做?
我已经尝试了 powershell 脚本,但我不知道如何运行它来测试它:
#!/bin/bash
$path = '/home/wowza/conf/Server.xml'
$new_value = 'new_value'
$xml = [xml](Get-Content $path)
$xml.Data.Course.Subject
$property = $xml.Root.Server.Properties.Property | where {$_.Name -eq 'myProp'}
$property.Value = $new_value
$xml.Save($path)
如果你给我发了一个脚本,请不要忘记包括如何运行它来测试它,#的解释器!行和要安装的东西。 谢谢!
答案 0 :(得分:2)
使用GNU sed:
sed -i '/<Name>myProp<\/Name>/,/<Value>old_value<\/Value>/s/old_value/new_value/' file.xml
输出到文件file.xml:
<Root>
<Properties>
<Property>
<Name>myProp</Name>
<Value>new_value</Value>
</Property>
<Property>
<Name>anotherProp</Name>
<Value>other_value</Value>
</Property>
</Propierties>
</Root>
答案 1 :(得分:1)