Perché sono pigro .... ogni volta che voglio usare grep, voglio che sia grep -n -colour. C'è un modo per mappare in modo permanente questo?
Perché sono pigro .... ogni volta che voglio usare grep, voglio che sia grep -n -colour. C'è un modo per mappare in modo permanente questo?
Nel tuo file $ HOME / .bashrc, aggiungi:
export GREP_OPTIONS="-n --color"
Funzionerà anche con egrep
e negli alias che usano grep.
Aggiornamento : GREP_OPTIONS è obsoleto da grep 2.21 e se utilizzi questa soluzione vedrai il seguente avviso:
grep: warning: GREP_OPTIONS is deprecated; please use an alias or script
La soluzione migliore è quindi seguire il consiglio di maco nella sua risposta . In alternativa, passa a ag , che viene stampato a colori per impostazione predefinita.
Modifica ~ / .bash_aliases Aggiungi una riga che dice:
alias grep='grep -n --color'
~ / .bash_aliases è automaticamente incluso da ~ / .bashrc se esiste
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 chiudi e apri nuovamente il terminale perché il file viene letto solo quando apri 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 in aggiunta a un alias menzionato nelle altre risposte. Un alias di per sé non funzionerà sempre, e un livello di script è abbastanza veloce per l'output leggibile comunque.
Scegli un nome breve, ad esempio cgrep
:
#!/bin/sh
grep --color -n "[email protected]"
Inseriscilo nel tuo percorso, ad esempio ~/bin
(se leggi UPE, questo è nel tuo percorso :). Quindi cose del genere funzioneranno:
find /usr/share -name '*.txt' | xargs cgrep testing
Non sono ancora così felice, volevo che grep colorasse sempre quando stdout su un terminale senza digitare selettivamente cgrep.
Leggi altre domande sui tag command-line