Risposte:
Nel tuo file $ HOME / .bashrc, aggiungi:
export GREP_OPTIONS="-n --color"
egrepFunzionerà anche con e negli alias che usano grep.
Aggiornamento : GREP_OPTIONS è obsoleto da grep 2.21 in poi e se si utilizza questa soluzione verrà visualizzato il seguente avviso:
grep: warning: GREP_OPTIONS is deprecated; please use an alias or script
La soluzione migliore è quindi seguire i consigli di maco nella sua risposta . Oppure passa a usare ag , che viene stampato a colori per impostazione predefinita.
Modifica ~ / .bash_aliases Aggiungi una riga che dice:
alias grep='grep -n --color'
~ / .bash_aliases viene automaticamente incluso da ~ / .bashrc se esiste
.profilese vuoi che funzioni in tutte le shell non solo bash.
find /usr/share -name '*.txt' |xargs grep testing
puoi modificare il file .bashrc che si trova nella tua home directory definendo un alias, che sovrascriverà qualsiasi impostazione predefinita:
alias grep = 'grep -n --color'
dopo la modifica chiudere e riaprire il terminale perché il file viene letto solo quando si apre il terminale.
Se dai un'occhiata al file .bashrc troverai altri alias predefiniti come:
alias ll = 'ls -l'
alias la = 'ls -A'
alias l = 'ls -CF'
Crea uno script oltre a un alias menzionato nelle altre risposte. Un alias da solo non funzionerà sempre e un livello di script è comunque abbastanza veloce per l'output leggibile dall'uomo.
Scegli un nome breve, come cgrep:
#!/bin/sh
grep --color -n "$@"
Inseriscilo nel tuo percorso, ad esempio ~/bin(se leggi UPE questo è nel tuo percorso :). Quindi cose come questa funzioneranno:
find /usr/share -name '*.txt' | xargs cgrep testing
Non sono ancora così felice, anche io volevo che grep colorasse sempre quando stdout su un terminale senza digitare selettivamente cgrep.