Doriți să găsiți un fișier al cărui conținut este un anumit text?

Păpușă cu lupă

Unii m-au întrebat despre o funcționalitate pe care o au cele mai recente versiuni de Microsoft Windows în care puteți folosi motorul lor de căutare pentru a găsi, nu numai fișiere cu un anumit nume, dar puteți include și un text de găsit fișiere care includ astfel de text, cum ar fi PDF-uri, documente Microsoft Office, fișiere text .txt etc. Ei bine, ar trebui să știți că în distribuția dvs. GNU / Linux puteți face asta și multe altele.

Am făcut deja mici tutoriale în LxA de comenzi precum găsi, unde este, localiza etc. Acum vă vom spune o modalitate de a recrea această funcționalitate despre care am vorbit în primul paragraf din consola dvs. După cum spun, Linux este extrem de flexibil și are diverse instrumente pentru a găsi lucruri, ei bine, aici vă vom arăta câteva dintre diferitele moduri pe care le puteți utiliza pentru a căuta fișiere în care se găsește un anumit text sau șir: Pentru căutați un cuvânt sau un șir în fișierele unui director puteți utiliza:

grep -s hola /home/*

grep -R hola /home/*

grep -Rw hola /home/*

În exemplul anterior, am căuta cuvântul „salut” în directorul / home în toate fișierele care există. În primul caz, cu opțiunea -s se efectuează o căutare non-recursivă, în timp ce cu -R devine recursivă, deci dacă există subdirectoare în interior va căuta și acolo ... Dar atenție, asta ar căuta tot conținutul cu acest șir «hello», Prin urmare, dacă există o frază sau un cuvânt precum "hello", acesta îl va considera valabil și ar arăta fișierele care conțin acest lucru, adică nu caută cuvântul respectiv într-un mod specific. Pentru a o face specifică, puteți utiliza a treia opțiune.

Amintiți-vă că va face căutări sensibile la majuscule, astfel încât exemplele anterioare ar ignora lucruri precum Hello, HELLO, holA etc. Pentru a face un căutați și ignorați majuscule, atunci puteți utiliza opțiunea -i.

Imaginați-vă că doriți să faceți o căutare în sens invers, adică toate acele fișiere în care nu includeți un șir sau un cuvânt specific. Ai putea? Adevărul este că da, de exemplu:

grep -Rlv hola /home/*

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

În primul exemplu va afișa întreaga listă de fișiere care nu conțin cuvântul „salut”, în timp ce în al doilea caz ar face același lucru, dar fișierele găsite sunt excluse găzduit în / home / Desktop ... Apropo, această opțiune –exclude-dir = poate fi folosită și în primele exemple ...


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   James Vigo el a spus

    Grazas per isto.