GNU/Linux >> Linux Esercitazione >  >> Linux

Mantieni la colorazione dopo aver applicato le tubazioni da grep a grep

Un consiglio:

Quando si utilizza grep --color=always , le stringhe effettive passate alla pipe successiva verranno modificate. Questo può portare alla seguente situazione:

$ grep --color=always -e '1' * | grep -ve '12'
11
12
13

Anche se l'opzione -ve '12' dovrebbe escludere la linea di mezzo, non lo farà perché ci sono caratteri colorati tra 1 e 2 .


grep a volte disabilita l'output del colore, ad esempio quando si scrive su una pipe. Puoi sovrascrivere questo comportamento con grep --color=always

La riga di comando corretta sarebbe

grep --color=always WORD * | grep -v AVOID

Questo è piuttosto prolisso, in alternativa puoi semplicemente aggiungere la riga

alias cgrep="grep --color=always"

al tuo .bashrc per esempio e usa cgrep come il grep colorato. Quando si ridefinisce grep potresti incontrare problemi con gli script che si basano sull'output specifico di grep e non mi piace il codice di escape ascii.


Linux
  1. Verifica della sintassi PHP.

  2. comando Linux grep

  3. Uscita tubazioni da tagliare

  4. Come grep \n nel file

  5. Vantaggi di cat'ing file e piping a grep

Grep Regex:una guida completa

Come escludere in Grep

Espressioni regolari in Grep (Regex)

Taglia / Grep e Df -h?

Grep e coda -f?

Comando Grep in Linux/UNIX