Ich versuche, eine XML-Datei mit einem Shell-Skript zu bearbeiten. Ich habe Hilfe gefunden wie this. Aber die Struktur meiner XML-Datei unterscheidet sich kaum. Dies ist ein Beispiel für meine XML-Datei:XML-Dateistruktur beim Bearbeiten der XML-Datei mit Shell-Skript
<Code>
<Type name="abc">this is ABC</Type>
<Type name="xyz">this is XYZ</Type>
</Code>
Hier möchte ich die this is ABC
und this is XYZ
Text bekommen und dann einen String mit ihnen wie folgt anhängen:
<Code>
<Type name="abc">this is ABC EDITED</Type>
<Type name="xyz">this is XYZ EDITED</Type>
</Code>
ich die 'abc'
wie diese bearbeiten können :
xmlstarlet ed --inplace -u "/Code/Type[@name='abc']/@name" -v abc_edited ./abc.xml
Aber Wie kann ich die 'this is ABC'
String bearbeiten wo 'this is ABC'
etwas unbekannt sein kann?
Wenn Sie mit 'sed' einverstanden sind:' sed -e' s/das ist ABC/& EDITED/'-e's/das ist XYZ/& EDITED/'input.xml'. Besser, dies nicht zu implementieren, gehen Sie mit 'xmlstarlet'. –
Die Zeichenfolge 'das ist ABC' kann alles sein. Ich kenne nur den 'name =" abc "'. Kannst du mir bitte sagen, wie ich das mit xmlstarlet machen soll? –
Ich würde, wenn ich könnte. Jemand anderes würde tun. –