grep est l'une des commandes les plus utilisées sous Linux. Il me semble que sa fonction de base est de mettre en évidence la chaîne recherchée sur les lignes de sortie. ceci peut être réalisé par l'option --color.
Taper --color à chaque fois est ennuyeux et non productif. Existe-t-il un moyen de changer grep pour qu'il se comporte comme grep --color.
J'ai essayé d'écrire un petit script nommé grepd et l' ai ajouté à ma variable PATH. Mais le script ne fonctionne pas sur le grepd d' entrée . Toutes suggestions s'il vous plaît.
#!/bin/bash
grep --color $1 $2
la source
GREP_OPTIONS
variable d'environnement:export GREP_OPTIONS='--color=always'
some_command | xargs grep foo
ne sera pas colorisé car xargs n'utilise pas l'alias.Ceci illustre la manière standard de "boucler" une commande avec un script shell, lorsque la commande ne fonctionne pas tout à fait comme vous le souhaitez.
Les
exec
évite de créer un processus supplémentaire (un pour le script et un pour grep). Vous pouvez le laisser de côté si vous le souhaitez.Le
"$@"
est remplacé par tous les arguments du script, quel que soit leur nombre. Il conserve correctement les arguments avec des espaces et d'autres caractères spéciaux pour le shell.la source
essayez de mettre
export GREP_COLORS='AUTO'
votre ~ / .bashrc - pour moi, cela fonctionne.de
man grep
la source
GREP_COLORS
est l'ensemble des couleurs réelles. Le réglage surAUTO
ne doit afficher aucune couleur. export GREP_OPTIONS = '- color = auto' devrait être la réponse.