Gibt es eine Möglichkeit Einfärben von Text zu halten durch das Rohr geleitet |zu head, tail, lessusw.?
Gibt es eine Möglichkeit Einfärben von Text zu halten durch das Rohr geleitet |zu head, tail, lessusw.?
Antworten:
Ich nehme an, Sie leiten von lsund möchten die Terminal-Farbcodes beibehalten. Sie können sagen ls --color=always(anstelle der Standardeinstellung von --color=auto), dass die Codes erhalten bleiben, aber das garantiert nicht, dass das, an das Sie weiterleiten, weiß, wie man sie versteht.
Wenn Sie glarkstattdessen verwenden grep, wird versucht, mit Farben anzuzeigen.
Wenn Sie lessmit -Rihm versuchen , mit Farben angezeigt werden soll .
git. Ich habe festgestellt, dass es eine ähnliche Konfiguration hat (z. B. git config color.diff always), die die Färbung beibehält.
git diffAusgabe als Eingabe verwendet, unterbrochen wird, da immer die ANSI-Escape-Codes ausgegeben werden.
grep "string" file.txt | headum sicherzustellen, dass das Ergebnis von grep farbig ist, habe ich es soeben ingrep "string" file.txt --color=always | head
Dies hängt von dem Programm ab, das die Ausgabe in der Pipe generiert.
head, tailUsw. sind nicht diejenigen , die Farben zu entfernen, ist es das Programm die Daten zu erzeugen , die in der Regel überprüfen , ob die Ausgabe an die Konsole (farbig), eine Datei oder ein Rohr (nicht gefärbt) wird
Ich fand eine weitere SU- Frage und Antwort, in der gezeigt wurde, wie Piping-Programme so ausgegeben werden, als würden sie Ausgaben an eine Konsole senden (eine Konsole mit emulieren unbuffer).
color=autoModus zu halten (damit das Programm denkt, dass die Ausgabe an die Konsole anstatt an die Pipe geht)?
head, tailusw., feststellt, dass es verrohrt auf ein anderes Programm wird (so dass sie Daten ohne Farben erzeugen können, etc).
head,tailUsw. sind nicht diejenigen , die Farben zu entfernen, ist es das Programm die Daten zu erzeugen , die in der Regel überprüfen , ob die Ausgabe an die Konsole (farbig) wird, eine Datei oder ein Rohr (nicht gefärbt).