Želite li pronaći datoteku čiji je sadržaj određeni tekst?

Lutka s povećalom

Neki su me pitali o funkcionalnosti koju imaju najnovije verzije sustava Microsoft Windows u kojoj pomoću njihove tražilice možete pronaći ne samo datoteke s određenim imenom, već možete uključiti i tekst za pronalaženje datoteke koje uključuju takav tekst, kao što su PDF, Microsoft Office dokumenti, .txt tekstualne datoteke itd. Pa, trebali biste znati da u svojoj GNU / Linux distribuciji to možete i još mnogo toga.

Već smo radili male poduke u LxA o naredbama poput find, whereis, locate itd. Sada ćemo vam reći način kako ponovno stvoriti ovu funkcionalnost o kojoj sam govorio u prvom odlomku s vaše konzole. Kao što sam rekao, Linux je izuzetno fleksibilan i ima razni alati za pronalaženje stvari, ovdje ćemo vam pokazati neke od različitih načina koje možete koristiti za traženje datoteka u kojima se nalazi određeni tekst ili niz: potražite riječ ili niz u datotekama direktorija možete koristiti:

grep -s hola /home/*

grep -R hola /home/*

grep -Rw hola /home/*

U prethodnom primjeru tražili bismo riječ "zdravo" unutar direktorija / home u svim datotekama koje postoje. U prvom slučaju, s opcijom -s izvodi se nerekurzivno pretraživanje, dok s -R postaje rekurzivno, pa ako se u njemu nalaze poddirektoriji, tamo će također tražiti ... Ali pazite, to bi pretraživalo sav sadržaj s ovim nizom «zdravo», pa ako postoji fraza ili riječ poput «zdravo», također bi je smatrao valjanom i prikazao datoteke koje to sadrže, odnosno ne traži tu riječ na određeni način. Da biste ga precizirali, možete koristiti treću opciju.

Imajte na umu da će vršiti pretraživanja koja razlikuju velika i mala slova, pa bi prethodni primjeri ignorirali stvari poput Hello, HELLO, holA itd. Da biste napravili traži i zanemari slučaj, tada možete koristiti opciju -i.

Zamislite da želite pretražiti obrnuto, odnosno sve one datoteke gdje ne uključuju niz ili riječ specifično. Možeš li? Istina je da, na primjer:

grep -Rlv hola /home/*

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

U prvom će primjeru prikazati cijeli popis datoteka koje ne sadrže riječ "zdravo", dok bi u drugom slučaju učinio isto, ali pronađene datoteke su izuzete hostirano u / home / Desktop ... Inače, ova opcija –exclude-dir = također se može koristiti u prvim primjerima ...


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   James Vigo dijo

    Grazas per isto.