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?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage