grep è un utilissimo strumento della bash linux, che consente di filtrare in output solo le informazioni che ci servono, così che quando digitiamo un comando, non vi vengono mostrate informazioni inutili, ma solo ciò che a noi interessa.
ad esempio se voglio avere informazioni sulla versione OpenGL in uso nel sistema, posso utilizzare il comando
glxinfo
il “problema” è che questo comando ci da tantissime informazioni, e trovare la versione di OpenGL tra così tante informazioni è molto difficile, quindi ci viene in aiuto il comando grep.
infatti se lo stesso comando lo scriviamo in questo modo
glxinfo | grep OpenGL
NOTA: il comando | serve a redirigere l’output del programma invocato (in questo caso glxinfo), ad un secondo programma (in questo caso grep).
l’output mostra solo le stringhe che contengono al suo interno la parola OpenGL (il comando è case-sensitive, quindi maiuscole e minuscole fanno distinzione).
ma se volessimo un output ancora più pulito e chiaro, possiamo anche decidere di “colorare” la parola che scegliamo di filtrare (in questo caso OpenGL), in modo da ottenere il risultato della seguente immagine
Per ottenere questo risultato ci basta usare l’opzione
--color
quindi se digitiamo il comando
glxinfo | grep --color OpenGL
ogni volta che nell’output è presente la parola OpenGL, questa sarà colorata, per far si che salti subito all’occhio.
Per evitare di dover sempre scrivere anche l’opzione –color, possiamo rendere tutto automatico, creando un alias, per far questo aprite il file di configurazione della bash con il seguente comando
gedit ~/.bashrc
e al suo interno inserite questa stringa
alias grep='grep --color'
salvate e chiudete il file, dopo di che ricaricate il file di configurazione della bash con il seguente comando
bash
A questo punto, ogni volta che userete il comando grep, in automatico verrà usata anche l’opzione –color