Frage
Wie kann ich entkommen '<' und '>' Zeichen in sed.
Ich habe einige XML-Dateien, die einen Text zwischen den Tags ersetzt werden muss. Wie entkommen ich das ‚>‘ und ‚<‘ Zeichen.
Das Problem mit> und
Lösung
Ok. Fand heraus von mir. Verwenden Sie Anführungszeichen.
$ sed -i "s/>foo</>bar</g" file
Andere Tipps
Sie einfach einen umgekehrten Schrägstrich vor ihnen setzen oder sie in einfache oder doppelte Anführungszeichen einschließen. Am zweiten Gedanken, Ihre Frage muß ich denke, mehr klar sein. Versuchen Sie, sed zu verwenden, um eine XML-Datei zu verarbeiten und Sie wollen zu bekommen, was zwischen einem Tag ist? Dann mögen Sie:
sed -re 's@(<TAG.*?>).*?(</TAG>)@\1hi\2@' test.xml
Escape sie mit umgekehrtem Schrägstrich
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow