Aug 102010
 

sudogrep è un utilissimo comando da utilizzare a terminale per cercare stringhe di testo all’interno di file, il default è quello di stampare tutte le righe che contengono la stringa data.

Esempi:

grep parola file -> stampa tutte le righe del file che contengono parola.
cat file1 | grep parola
comando unix |grep parola



Ecco alcune opzioni:

-i incasesensitive, ovvero cerca la parola sia in minuscolo che maiuscolo (o mix dei due)

grep -i roma file -> ottieni come output roma, Roma ma anche ROmA

-l lista solo il nome dei file che contengono la stringa indicata, e non le linee

grep -l nomemiaclasse *.css  -> ottieni la lsita di tutti i file css che contengono la mia classe

-r ricorsivo, ovvero cerca nell’attuale percorso ed anche in tutte le sottodirectory

grep -r “192.168.0.1″ /etc/ -> cerca in /etc/ tutte le occorrenze dell’ip dato.

-v modo inverso, ovvero stampa tutte le righe che NON contengono la stringa data

grep -v “spam” /var/spool/mail -> stampa tutte le righe che non contengono la stringa spam

Pipe con altri comandi

Come detto grep si può utilizzare dopo altri programmi per visualizzare solo una certa parte dell’output

Visualizza come sono stati visti i dischi al boot dal kernel:

dmesg|grep -i ” sd”

Visualizza fra tutti i processo solo quelli di firefox

ps -ef |grep -i firefox

Questi sono alcuni piccoli esempi, grep è un comando molto versatile utilizzabile combinato con altri comandi per personalizzare l’output, il mio consiglio è di fare qualche test, una volta conosciuto vedrete che è insostituibile.

Popular Posts:

flattr this!

  4 Responses to “grep per principianti”

  1. Just a small correction. The option -L presents the files “that do not contain” the given strain. The lowercase -l actually gives the result indicated in the example.

  2. Hey nice tutorial and excellent blog but the article is in italian although the language flag is set to English. Do you have the article translated? I believe your articles and howtos are awesome and grep is on of the most powerful commands that I know of but I find it very difficult.

    Thanks and hope you can update it :D

 Leave a Reply

(required)

(required)


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>