Viele Shell-Tools wie grep und ls können farbigen Text im Terminal anzeigen. Und wenn die Ausgabe in eine reguläre Datei umgeleitet wird, werden die Escape-Sequenzen, die Farben darstellen, entfernt und nur reiner Text wird in die Datei geschrieben. Wie kann man das erreichen?
Antworten
Zu viele Anzeigen?
Barmar
Punkte
665497
Digital Trauma
Punkte
14572
Speziell hat grep
einen Befehlszeilenschalter, um diese Einstellung anzupassen:
echo hello | grep ll # "ll" wird in Rot gedruckt
echo hello | grep --color=never ll # "ll" wird ohne besondere Farbgebung gedruckt
Die meisten, wenn nicht alle Werkzeuge, die dies tun, haben einen ähnlichen Schalter - überprüfen Sie die Handbuchseiten für andere Werkzeuge.
Ein anderer Weg, dies für Werkzeuge zu tun, die automatisch erkennen, ob stdout
mit dem Terminal verbunden ist oder nicht, besteht darin, sie zu täuschen, indem man die Ausgabe über cat
leitet:
echo hello | grep ll | cat # "ll" wird ohne besondere Farbgebung gedruckt
BobG
Punkte
1