it-swarm-eu.dev

Ersetzen Sie den Befehl grep durch grep -n - colour?

Weil ich faul bin ... jedes Mal, wenn ich grep verwenden möchte, möchte ich, dass es grep -n-colour ist. Gibt es eine Möglichkeit, dies dauerhaft abzubilden?

17
Tree77

Fügen Sie in Ihrer $ HOME/.bashrc-Datei Folgendes hinzu:

export GREP_OPTIONS="-n --color"

Dies funktioniert auch mit egrep und in Aliasen, die grep verwenden.

Update : GREP_OPTIONS ist seit grep 2.21 veraltet und wenn Sie diese Lösung verwenden, wird die folgende Warnung angezeigt:

grep: warning: GREP_OPTIONS is deprecated; please use an alias or script

Die beste Lösung ist es daher, macos Rat in seiner Antwort zu befolgen. Oder wechseln Sie zu ag , das standardmäßig in Farbe ausgegeben wird.

31
richq

Bearbeiten Sie ~/.bash_aliases Fügen Sie eine Zeile hinzu, die besagt:

alias grep='grep -n --color'

~/.bash_aliases wird automatisch von ~/.bashrc eingeschlossen, falls vorhanden

29
maco

sie können die Datei .bashrc in Ihrem Ausgangsverzeichnis ändern und einen Alias ​​definieren, der alle Standardeinstellungen überschreibt:

alias grep = 'grep -n --color'

nach der Änderung schließen und öffnen Sie das Terminal erneut, da die Datei nur lesbar ist, wenn Sie das Terminal öffnen.

Wenn Sie sich die Datei .bashrc ansehen, finden Sie weitere Standard-Aliase wie:

alias ll = 'ls -l'

alias la = 'ls -A'

alias l = 'ls -CF'

2

Erstellen Sie ein Skript zusätzlich zu einem in den anderen Antworten genannten Alias. Ein Alias ​​an sich wird nicht immer funktionieren, und eine Skriptebene ist sowieso schnell genug für eine von Menschen lesbare Ausgabe.

Wählen Sie einen Kurznamen wie cgrep:

#!/bin/sh
grep --color -n "[email protected]"

Platziere es in deinem Pfad, sag ~/bin (wenn du UPE liest, steht es in deinem Pfad :). Dann wird so etwas funktionieren:

find /usr/share -name '*.txt' | xargs cgrep testing

Ich bin immer noch nicht so glücklich, ich wollte auch, dass grep immer einfärbt, wenn stdout an ein Terminal geht, ohne selektiv cgrep einzugeben.

0
rfabbri