2009-02-19 11 views
11

Ich benutze gerne UNIX/Bash-Befehle, die farbige Ausgabe unterstützen. Folglich habe ich einige Aliase definiert, die automatisch eine farbige Ausgabe der Befehle ermöglichen, von denen ich weiß, dass sie diese Option unterstützen. Ich bin mir jedoch sicher, dass es Hunderte von Befehlen gibt, die farbige Ausgabe unterstützen - ich würde gerne wissen, was sie sind.Welche UNIX-Befehle unterstützen farbige Ausgabe?

Die, die in meiner ~/.bash_aliases Datei sind:

ls --color=auto 
grep --color 
phpunit --ansi 

Was gibt es sonst noch? Gibt es eine Liste mit allen Befehlen, die eine farbige Ausgabe unterstützen? Oder noch besser, ein Befehl zum Überfischen meiner lokalen Manpages und zum Auslesen der entsprechenden Befehlsnamen.

+1

Streng genommen sind diese GNU-Programme (AFIAK). Und wie wir alle wissen: GNU ist kein Unix! – MighMoS

+0

Ich denke du meinst mehr als zwei Farben? :-) –

Antwort

9

Warum versuchen Sie nicht:

man -K color 

die für das Wort Farbe in allen Ihren Mann Seiten (Inhalt, nicht nur Überschriften) suchen soll.

Es fragt, für jeden Mann Seite, ob Sie die Seite öffnen und anzeigen mögen:

$ man -K color 
/usr/share/man/mann/Widget.n.gz? [ynq] y 
/usr/share/man/mann/usual.n.gz? [ynq] y 
/usr/share/man/mann/Toplevel.n.gz? [ynq] n 
/usr/share/man/mann/itk.n.gz? [ynq] n 
/usr/share/man/mann/Archetype.n.gz? [ynq] n 
/usr/share/man/man8/squid.8.gz? [ynq] n 
/usr/share/man/man7/Xprint.7.gz? [ynq] 
/usr/share/man/man7/X.7.gz? [ynq] 
/usr/share/man/man7/urxvt.7.gz? [ynq] 
/usr/share/man/man7/term.7.gz? [ynq] q 

$ 

Innerhalb jeder einzelnen Menschen Seite können Sie Ihre normale Suchmethode verwenden (zB /color<ENTER>) für die Suche nach der Text. Wenn Sie mit einer Manpage fertig sind, verlassen Sie einfach und es wird weiter gesucht.

+0

Mein System verwendet einen Kleinbuchstaben k. Aber ich benutze normalerweise apropos. –

+2

Dennis, ich denke, dass der Kleinbuchstabe k nur die Überschriften, nicht den Volltext durchsucht. – paxdiablo

3

Ich bin ziemlich gern meine Prompt Färbung, so dass es auffällt. Ein nützlicher Artikel über diese Art von Ding ist verfügbar here.

8

Ein schnelles Stück von Google-Suche zeigt auch grc und grcat, die zum Einfärben beliebiger Text oder Befehl verwendet werden können. Nicht sicher, wie gut sie funktionieren. Ich werde sie jetzt ausprobieren, nachdem ich sie gefunden habe.

Ah, hier gehen wir. grc verwendet die Datei /etc/grc.conf, um einen gegebenen Befehl basierend auf der Übereinstimmung mit dem regulären Ausdruck zu färben. Eine schnelle grep meiner (Ubuntu 8.10) /etc/grc.conf enthüllt hat derzeit Unterstützung für:.

[~]$ less /etc/grc.conf | grep '^#' 
# anything to do with irc 
# log file 
# ping command 
# traceroute command 
# gcc command 
# make command 
# netstat command 
# diff command 
# last command 
# ldap tools 
# cvs command 

Aber ich bin sicher, dass Sie Ihre eigenen für andere Programme hinzufügen könnte Sie interessieren

grc zu verwenden, es einfach auszudrücken, bevor der Befehl, den Sie Colorise wollen (können diff sagen):

grc diff foo.txt bar.txt 

Und man könnte sicherlich alias diff='grc diff'-diff standardmäßig colorised zu machen.

+0

'grc' hatte ein Hilfsskript:' grcat'. Hier ist ein Beispiel für das Einfärben aller Großbuchstaben in Rot. Schritt 1: Richten Sie die Konfigurationsdatei ein: 'printf 'regexp = [A-Z] \ ncolours = rot \ n"> ~/.grc/red-caps' Schritt 2; Benutze es: 'echo Hallo Welt | grcat red-caps' –

+0

Ich benutze 'grcat' und mag es wirklich. –

0

Dieses Demo-Bash-Skript färbt Verzeichnisse in den meisten Terminals rot - sicherlich funktioniert in Xterms und Cygwin unter Windows. Sie können die Farben anpassen, indem sie mit dem Escape-Codes Hantieren - Google für LS_COLOR für Listen von Farbcodes:

#!/bin/bash 

color_red() 
{ 
    echo -e "\033[01;31m$1\033[00m" 
} 

for FILE in $* 
do 
    if test -d $FILE 
    then 
     color_red $FILE 
    else 
     echo $FILE 
    fi 
done 
Verwandte Themen