Ovaj vodič će vam pokazati kako pretraživati komprimirane datoteke za niz teksta ili za određeni izraz.
Kako pretraživati i filtrirati rezultate koristeći Grep komandu
Jedna od najmoćnijih Linux komandi je grep koji označava "Global Regular Expressions Print".
Možete koristiti grep da traži obrasce unutar sadržaja datoteke ili izlaza iz druge komande.
Kao primer, ako pokrenete sledeću naredbu ps , videćete listu procesa koji se pokreću na vašem računaru.
ps -ef
Rezultati se skroluju na ekran brzo i ako obično ima velikog broja rezultata. Na taj način se informacija vidi naročito bolno.
Možete, naravno, koristiti više naredbi da navedete jednu stranicu rezultata u isto vrijeme na sledeći način:
ps -ef | više
Dok je izlaz iz gornje komande bolji od prethodnog, ipak morate da pretražujete rezultate kako biste pronašli ono što tražite.
Komanda grep omogućava filtriranje rezultata na osnovu kriterijuma koje šaljete. Na primer, da potražite sve procese pomoću UID-a koji su postavljeni na 'root' pokrenite sljedeću naredbu:
ps -ef | grep root
Grep naredba takođe radi na datotekama. Zamislite da imate datoteku koja sadrži listu naslova knjiga. Zamislite da želite da vidite da li datoteka sadrži "Crvenkap". Možete pretraživati datoteku na sljedeći način:
grep "Little Red Hood" lista
Kako pretraživati komprimirane datoteke koristeći naredbu zgrep
Malo poznat, ali vrlo moćan alat je zgrep. Komanda zgrep vam omogućava da pretražujete sadržaj komprimirane datoteke bez prethodnog izvlačenja sadržaja.
Naredba zgrep se može koristiti protiv zip datoteka ili datoteka komprimovanih pomoću naredbe gzip .
Koja je razlika?
Zip datoteka može sadržavati više datoteka dok datoteka komprimirana pomoću naredbe gzip sadrži samo originalnu datoteku.
Da biste potražili tekst unutar datoteke komprimovanog sa gzip-om, jednostavno možete uneti sledeću komandu:
zgrep izraz filetosearch
Na primer zamislite da je lista knjiga stisnuta pomoću gzip-a. Možete pretraživati tekst "mali crveni jastučić" u kompresovanoj datoteki koristeći sljedeću komandu:
zgrep "Crvenkapa" booklist.gz
Možete koristiti bilo koji izraz i sva podešavanja dostupna preko grep naredbe kao dio zgrep naredbe.
Kako pronaći kompresirane datoteke koristeći komandu zipgrep
Komanda zgrep dobro funkcioniše sa datotekama komprimovanim pomoću gzip-a, ali ne funkcioniše tako dobro na datotekama komprimovanim pomoću zip uslužnog programa.
Možete koristiti zgrep ako zip datoteka sadrži jednu datoteku, ali većina zip datoteka sadrži više od jedne datoteke.
Zipgrep naredba se koristi za pretraživanje šema unutar zip datoteke.
Kao primer zamislite da imate datoteku zvanu knjige sa sljedećim naslovima:
- Harry Potter i dvorana tajni
- Taming of the Shrew
- Od miševa i muškaraca
- Hitchhikers Vodič kroz galaksiju
- Hari Poter i red feniksa
Takođe zamislite da imate datoteku zvanu film sa sljedećim naslovima
- The Matrix
- Harry Potter i dvorana tajni
- Hari Poter i pehar od vatre
- Star Wars - nova nada
Zamislite sada da su ove dve datoteke komprimirane pomoću zip formata u datoteku pod nazivom media.zip.
Možete koristiti komandu zipgrep da pronađete obrasce unutar svih datoteka unutar zip datoteke. Na primjer:
zipgrep obrazac filename
Na primer, zamislite da želite pronaći sve pojave "Harry Pottera", koristićete sljedeću naredbu:
zipgrep "Harry Potter" media.zip
Izlaz će biti sljedeći:
knjige: Harry Potter i dvorana tajni
knjige: Harry Potter i red Phoenixa
filmovi: Harry Potter i Chamber of Secrets
filmovi: Harry Potter i pehar od vatre
Kao što možete koristiti bilo koji izraz sa zipgrepom koji možete koristiti sa grep-om, to čini alat veoma moćnim i čini pretraživanje zip datotekama mnogo jednostavnijim od dekompresije, pretrage i zatim kompresije.
Ako želite samo pretraživati određene datoteke unutar zip datoteke, možete odrediti datoteke za pretraživanje unutar zip datoteke kao dio naredbe na sljedeći način:
zipgrep "Harry Potter" media.zip filmova
Izlaz će sada biti sljedeći
filmovi: Harry Potter i Chamber of Secrets
filmovi: Harry Potter i pehar od vatre
Ako želite da pretražite sve datoteke osim jedne možete koristiti sledeću komandu:
zipgrep "Harry Potter" media.zip -x knjige
Ovo će proizvesti istu izlazu kao i ranije jer pretražuje sve datoteke unutar media.zip osim knjiga.