grep ist einer der am häufigsten verwendeten Befehle unter Linux. Ich habe das Gefühl, dass es die grundlegende Funktion ist, die gesuchte Zeichenfolge in den Ausgabezeilen hervorzuheben. Dies kann durch die Option --color erreicht werden.
Jedes Mal --color zu tippen ist nervig und auch nicht produktiv. Gibt es eine Möglichkeit, grep so zu ändern, dass es sich wie grep - color verhält?
Ich habe versucht, ein kleines Skript mit dem Namen grepd zu schreiben, und dies meiner PATH-Variablen hinzugefügt. Das Skript funktioniert jedoch nicht mit der Eingabe grepd . Anregungen bitte.
#!/bin/bash
grep --color $1 $2
quelle
GREP_OPTIONS
Umgebungsvariable ein:export GREP_OPTIONS='--color=always'
some_command | xargs grep foo
Wird nicht eingefärbt, da xargs den Alias nicht verwendet.Dies zeigt die Standardmethode zum "Umschließen" eines Befehls mit einem Shell-Skript, wenn der Befehl nicht ganz so funktioniert, wie Sie es möchten.
Die
exec
vermeidet einen zusätzlichen Prozess (eine für das Skript und einen für grep) zu schaffen. Sie können es weglassen, wenn Sie möchten.Das
"$@"
wird durch alle Argumente des Skripts ersetzt, egal wie viele es gibt. Argumente mit Leerzeichen und anderen Zeichen, die für die Shell spezifisch sind, werden korrekt beibehalten.quelle
versuche
export GREP_COLORS='AUTO'
dein ~ / .bashrc einzutragen - bei mir funktioniert es.von
man grep
quelle
GREP_COLORS
Ist das Set die tatsächlichen Farben. Bei der Einstellung aufAUTO
sollten keine Farben angezeigt werden. export GREP_OPTIONS = '- color = auto' sollte die Antwort sein.