Parce que je suis paresseux ... chaque fois que je veux utiliser grep, je veux que ce soit grep -n --colour. Y a-t-il un moyen de cartographier cela de manière permanente?
Dans votre fichier $ HOME/.bashrc, ajoutez:
export GREP_OPTIONS="-n --color"
Cela fonctionnera aussi avec egrep
et dans les alias qui utilisent grep.
Mise à jour : GREP_OPTIONS est obsolète à partir de grep 2.21 et si vous utilisez cette solution, l'avertissement suivant s'affichera:
grep: warning: GREP_OPTIONS is deprecated; please use an alias or script
La meilleure solution est donc de suivre le conseil de maco dans sa réponse . Ou passez en utilisant ag , qui affiche en couleur par défaut.
Edit ~/.bash_aliases Ajoutez une ligne qui dit:
alias grep='grep -n --color'
~/.bash_aliases est automatiquement inclus par ~/.bashrc s'il existe
vous pouvez modifier le fichier .bashrc situé dans votre répertoire personnel en définissant un alias, qui remplacera tout paramètre par défaut:
alias grep = 'grep -n --color'
après la modification, fermez et ouvrez à nouveau le terminal, car le fichier n’est lu que lorsque vous ouvrez le terminal.
Si vous examinez le fichier .bashrc, vous trouverez d'autres alias par défaut tels que:
alias ll = 'ls -l'
alias la = 'ls -A'
alias l = 'ls -CF'
Créez un script en plus d'un alias mentionné dans les autres réponses. Un alias en lui-même ne fonctionnera pas toujours, et une couche de script est assez rapide pour une sortie lisible par l'homme de toute façon.
Choisissez un nom court, comme cgrep
:
#!/bin/sh
grep --color -n "$@"
Placez-le dans votre chemin, dites ~/bin
(si vous lisez UPE, c'est dans votre chemin :). Des trucs comme ça vont marcher:
find /usr/share -name '*.txt' | xargs cgrep testing
Je ne suis toujours pas heureux, moi aussi, je voulais que grep colore toujours la sortie standard vers un terminal sans taper de manière sélective cgrep.