Linux ed il testo – parte 2

Dopo aver visto come visualizzare totalmente o in parte i nostri file e stream, vediamo ora come compiere delle ricerche all’interno del testo.

Per questo compito ci basterà un solo programma: grep

Testo

Grep permette di cercare sia in un singolo file (o uno stream), sia in un insieme di file che possono essere elencati in coda al comando. È possibile anche ricercare all’interno di tutti i file presenti in una directory (basta specificare il percorso con *).

Inoltre, grep supporta sia la ricerca di stringhe costanti, sia la ricerca di pattern di stringhe (tramite l’uso di espressioni regolari).

Vediamo un po’ di esempi:

grep ‘parole da cercare’ nomefile1 nomefile2 //cerca ‘parole da cercare’ nei 2 file e stampa a video le righe che le contengono

grep -n -i ‘paRoLe dA cerCAre’ /home/user/books/* //cerca ‘parole da cercare’ ignorando se si tratta di maiuscole o minuscole (-i) in tutti i file contenuti in /home/user/books, e stampa “nomefile:numero di riga:riga”

grep [a-z] nomefile //cerca (e stampa) tutte le righe che contengono almeno una lettera minuscola ([a-z] è un esempio di espressione regolare)

per le espressioni regolari vi consiglio di sfogliare le pagine man di grep, sono troppo variegate per poterle descrivere in un post (magari ne parlerò in futuro).

Altre 2 opzioni che potrebbero servirvi sono:

  • -l che elenca solamente il nome dei file che contengono la stringa di testo da ricercare (questa opzione può essere utile se si cerca in tutti i file di una directory con*)
  • -w restringe la ricerca solamente alle parole intere

EOF

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...