Vuoi trovare un file il cui contenuto è un testo specifico?

Bambola con lente d'ingrandimento

Alcuni mi hanno chiesto informazioni su una funzionalità che hanno le ultime versioni di Microsoft Windows in cui puoi utilizzare il loro motore di ricerca per trovare, non solo file con un certo nome, ma puoi anche includere un testo da trovare file che includono tale testo, come PDF, documenti di Microsoft Office, file di testo .txt, ecc. Bene, dovresti sapere che nella tua distribuzione GNU / Linux puoi fare questo e molto altro.

Abbiamo già fatto piccoli tutorial in LxA di comandi come find, whereis, locate, ecc. Ora ti diremo un modo per ricreare questa funzionalità di cui ho parlato nel primo paragrafo dalla tua console. Come ho detto, Linux è estremamente flessibile e lo ha vari strumenti per trovare le cose, qui ti mostreremo alcuni dei diversi modi che puoi utilizzare per cercare file in cui si trova un determinato testo o stringa: Per cerca una parola o una stringa nei file di una directory puoi usare:

grep -s hola /home/*

grep -R hola /home/*

grep -Rw hola /home/*

Nell'esempio precedente, cercheremo la parola "ciao" nella directory / home in tutti i file esistenti. Nel primo caso con l'opzione -s viene eseguita una ricerca non ricorsiva, mentre con -R diventa ricorsiva, quindi se al suo interno ci sono sottodirectory cercherà anche lì ... Ma attenzione, cercherebbe tutto il contenuto con questa stringa «ciao», quindi se c'è una frase o una parola come "ciao" la considererebbe valida anche e mostrerebbe i file che la contengono, cioè non cerca quella parola in modo specifico. Per renderlo specifico puoi usare la terza opzione.

Ricorda che eseguirà ricerche con distinzione tra maiuscole e minuscole, quindi gli esempi precedenti ignorerebbero cose come Hello, HELLO, holA, ecc. Fare un cerca e ignora maiuscole e minuscole, quindi puoi usare l'opzione -i.

Immagina di voler fare una ricerca al contrario, cioè tutti quei file in cui non includere una stringa o una parola specifica. Potresti? La verità è che sì, ad esempio:

grep -Rlv hola /home/*

grep --exclude-dir= /home/Desktop -Rlv /home/*

Nel primo esempio mostrerà l'intera lista dei file che non contengono la parola "ciao", mentre nel secondo caso farà lo stesso ma i file trovati vengono esclusi ospitato in / home / Desktop ... A proposito, questa opzione –exclude-dir = può essere utilizzata anche nei primi esempi ...


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Giacomo Vigo suddetto

    Grazas per isto.