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

War es hilfreich?

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
scroll top