tree
und ls
kann Dateitypen unterscheiden, indem Dateinamen unterschiedlich gefärbt werden.
tree
und ls
oft eine lange Liste von Dateien (einschließlich Verzeichnissen) ausgeben, so leite ich die stdout-Ausgabe an less
.
Aber less
nicht beibehalten , die Farben. Wie können wir es dazu bringen, Farben zu zeigen, oder auf alternative Weise?
Habe gerade die verknüpfte Liste gesehen, aber die Weiterleitung zu less -R
oder less -r
funktioniert nicht. Mein Betriebssystem ist Ubuntu 12.04. less
ist Version 444: 09.06.2011.
ls
(nichttree
), für die einige Implementierungen angewiesen werden müssen, um die Farbausgabe zu erzwingen, wenn die Ausgabe nicht an ein Terminalless -R
tree -C | less -R
? Die-C
Option ist--color=always
, glaube ich, gleichbedeutend mit der von less (zumindest für Ubuntu 12.04).tree
mit und ohne-C
allein immer in Farben ausgeben, aber warum unterscheiden sie sich bei der Verwendung mitless
?less
Entfernt die Farben standardmäßig , wenn Sie es das geben-R
Option, die es zu verlassen erzählt in, und 2tree
undls
und andere Programme der Regel wiederum Färbung aus , wenn sie ihren Ausgang erkennen an ein anderes Programm wird (wieless
) statt direkt an Ihr Terminal, es sei denn, Sie erzwingen die Einfärbung mit-C
oder--color=always
.Antworten:
Ich gehe davon aus, dass Sie verwenden
ls --color=auto
, diels
Farbe im "automatischen" Modus verwenden sagt . Im Modus 'Automatisch' wirdless
angezeigt, ob STDOUT ein Terminal ist. Verwenden Sie in diesem Fall Farbe. Andernfalls verwenden Sie keine Farbe. Wenn Sie Rohrls
inless
STDOUT kein Terminal ist, ist es zu STDIN von verbundenless
, die ein normales Rohr ist.Die Lösung verwenden
ls --color
oderls --color=always
.Dies führt jedoch jetzt zu einem weiteren potenziellen Problem. Abhängig von Ihrer
less
Einstellung wird möglicherweise nicht die Farbe, sondern die Escape-Codes angezeigt. Die Lösung ist zu verwendenless -R
. Dies weist Sieless
an, die Escape-Codes für ANSI-Farb-Escapes zu durchlaufen. Sie sollten diese Option nicht verwenden,-r
da dies Probleme mit langen umlaufenden Zeilen verursacht, da weniger die Zeilenlänge nicht richtig berechnet.Also volle Lösung:
Ähnlich für
tree
:quelle