Escaping des Zeichens '\' in der Ersetzungszeichenfolge in einem sed-Ausdruck
Ich versuche eine Textzeile wie
13) Check for orphaned Path entries
und ändere es auf (Ich möchte, dass die Bash-Farbcodes die Ausgabe einfärben und nicht auf dem Bildschirm angezeigt werden)
\033[32m*\033[0m Check for orphaned Path entries
Mit Bash-Farbcodes, um das Sternchen einzufärben und es besser zur Geltung zu bringen. Ich habe einen sed-Befehl, der das meiste davon ausführt, außer dass er die Farbcodes nicht richtig behandelt, da er sie als Verweise auf Ersatztext ansieht.
Was ich bisher habe:
sed "s/ *13) \(.*\)/ \033[32m*\033[0m \1/"
Das erzeugt die folgende Ausgabe, wenn es mit der Zeichenfolge ausgeführt wird, die ich zu Beginn angegeben habe:
13) Check for orphaned Path entries33[32m* 13) Check for orphaned Path entries33[0m Check for orphaned Path entries
Es wird die \ 0 von \ 033 genommen und durch die ursprüngliche Zeichenfolge ersetzt. Das Verdoppeln der Backslashes in der Ersatzzeichenfolge macht keinen Unterschied. Ich erhalte immer noch den gleichen Ausgabetext.
Wie füge ich Bash Colour Escapes in einen sed-Ersetzungsausdruck ein?