ich eine Textzeile wieEscaping the ‚‘ Zeichen in der Ersatzzeichenfolge in einem sed Ausdruck
13) Check for orphaned Path entries
zu nehmen versuchen und ändern Sie sich auf (ich die Bash-Farbcodes will die Ausgabe einfärben, nicht auf dem Bildschirm angezeigt)
mit Bash Farbcodes, um das Sternchen zu färben, damit es mehr herausstechen. Ich habe einen sed-Befehl, der das meiste davon erledigt, außer dass er die Farbcodes nicht korrekt behandelt, da er sie als Referenzen auf Ersatztext ansieht.
Was ich habe, so weit:
sed "s/ *13) \(.*\)/ \033[32m*\033[0m \1/"
, die die folgende Ausgabe erzeugt, wenn an der Schnur betreibe ich am Anfang gab:
13) Check for orphaned Path entries33[32m* 13) Check for orphaned Path entries33[0m Check for orphaned Path entries
Es ist die \ 0 des \ unter 033 und ersetze ihn durch die ursprüngliche Zeichenkette. Eine Verdoppelung der umgekehrten Schrägstriche in der Ersatzzeichenfolge macht keinen Unterschied. Ich bekomme immer noch den gleichen Ausgabetext.
Wie füge ich Bash Color Escapes in einen sed Ersatzausdruck ein?
die Schrägstriche Vervierfachung die gleiche Wirkung wie mit einfachen Anführungszeichen verursacht und bashslashes verdoppelt, wie @DreadPirateShawn vorgeschlagen. Ich bekomme \ 033 [32m * \ 033 [0m direkt an die Konsole ausgegeben, ohne in Farbcodes umgewandelt zu werden. –
Es ist im Grunde das Gleiche. Deshalb habe ich bereits meinen Kommentar gelöscht. – balpha