I cookie permettono il funzionamento di alcuni servizi di questo sito. Utilizzando questi servizi, accetti l'utilizzo dei cookie da parte nostra. [ Leggi dettagli ]

Link sponsorizzati

Valutazione attuale: 5 / 5

Stella attivaStella attivaStella attivaStella attivaStella attiva
 

Cercare parola in file, in più file, in una o più cartelle e in sottocartelle non è mai stato più facile e senza l' utilizzo di un programma come Agent Ransack da me utilizzato su Windows.

Come sappiamo Agent Ransack è un semplice e intuitivo software che permette la ricerca di nomi di file o il testo all'interno di file.

Ricerca


Agent Ransack
purtroppo è solo per Windows e il test di avvio su Xubuntu, utlizzando il famoso Wine, l' emulatore per ambiente GNU/Linux e altri sistemi operativi, che permette, non sempre, il funzionamento dei programmi sviluppati per il sistema operativo Microsoft Windows, è fallito.

Come alternativa che personalmente ho trovato, alla risoluzione della ricerca di una stringa di testo contenuta in un solo file dentro una cartella contenente tante altre sottocartelle e file, è ricercare nei file utilizzando il comando GREP da Terminale.

Velocemente ripassiamo i comandi essenziali per l' utilizzo del Terminale in questa procedura:

  • Il comando ls permette di elencare i file dentro la directory in cui ci troviamo;
  • ls -a permette di visualizzare tutti i file compresi quelli di sistemi;
  • Il comando pwd ci permette di visualizzare in che percorso ci troviamo;
  • Per spostarci da una cartella ad un altra è necessario utilizzare il comando cd.


Esempio 1

Se vogliamo cercare all'interno del file "worcom.php" la parola "Creazione".

grep "Creazione" worcom.php


Utilizzando la sintassi menzionata il comando grep restituirà tutte le linee del file indicato che contengono la parola cercata.


Esempio 2

Se intendiamo cercare una frase il comando non cambia.

grep "Creazione di Anto" worcom.php 


Esempio 3

Poniamo di voler cercare la parola "Creazione" tra tutti i file presenti in una data directory e nelle sue eventuali sottodirectory

grep -r "Creazione" /home/nome_account/Scrivania/ 

Sostituire nome_account con il nome dell' account in uso in quella sessione di lavoro

Abbiamo utilizzato grep con opzione ricorsiva (-r) per andare a scovare, non solo nella directory indicata ma anche in tutte le eventuali sotto-directory, la presenza di file contenenti la parola indicata.

Ma la vera forza di grep sta nel suo utilizzo combinato con le regular expressions (espressioni regolari).
Mi riferisco a due caratteri speciali che vi saranno utili in tante ricerche.

I caratteri sono: "." e "*".

Il punto (.) può essere utilizzato per indicare un (nota bene: uno) carattere qualsiasi.


Esempio 4

Ipotizziamo che abbiamo archiviato nel nostro enorme hard disk tutte le modifiche apportate nel nostro sito web, che ogni file di testo che ingloba queste modifiche sia corredato di opportuno titolo e spiegazione e vogliamo trovare tutte modifiche apportate ad una determinata zona che però avete assegnato nome in inglese e ricordate solo in parte.

Come fare?

Andremo a specificare solo la parte di parola di cui siamo certi e sostituiamo con dei puntini le lettere di cui non siamo sicuri, come segue:

grep -r "casc...ng" /home/worcom/mod/


Nell'esempio su indicato ho messo tre punti le quali indicano le lettere di cui non sono sicuro.


Esempio 5

Possiamo fare di più.
Ipotizziamo di ricordare solo che il nome finisce con "ng" e niente più:

grep -r "*ng" /home/worcom/mod/


Questa istruzione ritornerà tutti i file in cui è presente una qualsiasi parola che finisce con "ng" in quanto il simbolo asterisco (*) indica un casuale numero di lettere (0,1,3,5,10,50,...).

Le capacità di GREP sono davvero elevate e non si fermano di certo qui ma per quello che ho dovuto fare è stato utile fin qui.

Ho scritto e condiviso questo articolo su WORCOM, fallo anche tu. Invia ora un nuovo articolo!
Autore: Antonio Liggieri
Esperto di computer e in sicurezza informatica, webmaster, webdesigner, webdeveloper e webmarketer. Sono il fondatore di WORCOM. Amo l'informatica, le arti marziali e il bodybuilding.


Ho anche scritto:

Link sponsorizzati