Ich nehme an, Sie leiten von ls
und die Farbcodes der Terminals beibehalten möchten. Sie können ls --color=always
sagen (anstelle der Vorgabe von --color=auto
), wodurch die Codes erhalten bleiben, aber das garantiert nicht, dass das Ding, zu dem Sie leiten, weiß, wie es sie versteht.
Wenn Sie glark
verwenden statt grep
es wird versuchen, mit Farben anzuzeigen.
Wenn Sie less
verwenden mit -R
es wird versucht, mit Farben anzuzeigen.
Es hängt von dem Programm ab, das die Ausgabe in der Pipe generiert.
head
, tail
, usw. sind nicht diejenigen, die die Farben entfernen, es ist das Programm, das die Daten generiert, die normalerweise prüfen, ob die Ausgabe an die Konsole (farbig), eine Datei oder Pipe (nicht farbig) geht
Ich habe eine weitere SU-Fragen und Antworten gefunden, die zeigt, wie man Programme an die Ausgabe lügt, als ob sie die Ausgabe an eine Konsole senden würden (eine Konsole mit unbuffer
emulieren). )