Ich muss den Wert des folgenden XML-Tags durch Shell-Skript aktualisieren.Aktualisiere den Wert des XML-Tags durch das Skript
<sample>4</sample>
Ich habe unten versucht, aber es funktioniert nicht ..
sed -i '' 's/\(<[^"]*"sample">\)\([^<]*\)\(<[^>]*\)/\1"$sampleVal"\3/g' $CONFIG_FILE
Jede Idee, was fehlt?
-Update mit vollständigem XML-Knoten:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Server>
<userInput>
<sample>0</sample>
<A>
<a1>9999</a1>
<a2>11111</a2>
</A>
<B>
<b1>10389</b1>
<b2>8000</b2>
</B>
<C>10500</C>
</userInput>
</Server>
Aktualisierung mit Namespace:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Server xmlns="http://a/b/c/sample.com">
<userInput>
<sample>0</sample>
<A>
<a1>9999</a1>
<a2>11111</a2>
</A>
<B>
<b1>10389</b1>
<b2>8000</b2>
</B>
<C>10500</C>
</userInput>
</Server>
Bearbeiten Sie 'XML' nicht mit Textverarbeitungstools. Eine geringfügige Änderung in der XML-Formatierung wird die gesamte verwendete Textverarbeitungslogik durcheinander bringen. Verwenden Sie ein geeignetes 'XML'-Parsingtool wie [' xmlstarlet'] (http://xmlstar.sourceforge.net/) – Inian
Mit allen Elementen von – user2894296