Táto príručka vám ukáže, ako vyhľadávať komprimované súbory pre reťazec textu alebo pre konkrétny výraz.
Ako vyhľadávať a filtrovať výsledky pomocou príkazu Grep
Jeden z najsilnejších príkazov Linuxu je grep, čo znamená "Global Regular Expressions Print".
Môžete použiť grep na vyhľadávanie vzorov v rámci obsahu súboru alebo výstupu z iného príkazu.
Napríklad, ak spustíte nasledujúci príkaz ps , uvidíte zoznam procesov, ktoré sú spustené v počítači.
ps -ef
Výsledky rýchlo prejdite na obrazovku a ak je zvyčajne veľký počet výsledkov. To spôsobuje, že zobrazenie informácií je zvlášť bolestivé.
Samozrejme, môžete použiť príkaz viac, aby ste naraz vymenovali jednu stránku výsledkov takto:
ps -ef | viac
Zatiaľ čo výstup z vyššie uvedeného príkazu je lepší ako ten predchádzajúci, stále musíte prelistovať výsledky a nájsť to, čo hľadáte.
Príkaz grep umožňuje filtrovať výsledky na základe kritérií, ktoré im posielate. Napríklad pri vyhľadávaní všetkých procesov s identifikátorom UID nastaveným na 'root' spustite nasledujúci príkaz:
ps -ef | grep root
Príkaz grep pracuje aj na súboroch. Predstavte si, že máte súbor, ktorý obsahuje zoznam názvov kníh. Predstavte si, že chcete vidieť, či súbor obsahuje "Little Red Hood". Súbor môžete vyhľadať nasledovne:
Grep "Little Red Riding Hood" zoznam kníh
Ako vyhľadávať komprimované súbory pomocou príkazu zgrep
Trochu známy, ale veľmi silný nástroj je zgrep. Príkaz zgrep umožňuje vyhľadať obsah komprimovaného súboru bez toho, aby ste najskôr vyťažili obsah.
Príkaz zgrep môže byť použitý proti súborom zip alebo súborom komprimovaným pomocou príkazu gzip .
V čom je rozdiel?
Súbor zip môže obsahovať viac súborov, zatiaľ čo súbor komprimovaný pomocou príkazu gzip obsahuje iba pôvodný súbor.
Ak chcete vyhľadať text v súbore komprimovanom v súbore gzip, jednoducho zadajte nasledujúci príkaz:
zgrep výraz filetosearch
Predstavte si napríklad, že zoznam kníh bol komprimovaný pomocou súboru gzip. V komprimovanom súbore môžete vyhľadávať text "malý červený jazdec" pomocou nasledujúceho príkazu:
zgrep "Little Red Hood" knihy.gz
Môžete použiť akýkoľvek výraz a všetky nastavenia dostupné pomocou príkazu grep ako súčasť príkazu zgrep.
Ako vyhľadávať komprimované súbory pomocou príkazu zipgrep
Príkaz zgrep funguje správne so súbormi komprimovanými pomocou gzip, ale nefunguje tak dobre v súboroch komprimovaných pomocou utility zip.
Môžete použiť zgrep, ak súbor zip obsahuje jeden súbor, ale väčšina zip súborov obsahuje viac ako jeden súbor.
Príkaz zipgrep sa používa na vyhľadávanie vzorov v súbore zip.
Ako príklad si predstavte, že máte súbor s názvom knihy s nasledujúcimi titulmi:
- Harry Potter a komnata tajomstiev
- Skúmanie zlej ženy
- O myšiach a ľudoch
- Stopárov sprievodca po Galaxii
- Harry Potter a poriadok Phoenixu
Predstavte si tiež, že máte súbor nazvaný filmy s nasledujúcimi titulmi
- Matrix
- Harry Potter a komnata tajomstiev
- Harry Potter a pohár ohňa
- Star Wars - nová nádej
Teraz si predstavte, že tieto dva súbory boli komprimované pomocou formátu zip do súboru nazvaného media.zip.
Pomocou príkazu zipgrep môžete nájsť vzory vo všetkých súboroch v súbore zip. Napríklad:
zipgrep vzorový názov súboru
Predstavte si napríklad, že ste chceli nájsť všetky prípady "Harry Potter", ktoré by ste použili nasledovný príkaz:
zipgrep "Harry Potter" media.zip
Výstup bude nasledovný:
knihy: Harry Potter a komora tajomstiev
knihy: Harry Potter a poriadok Phoenixu
filmy: Harry Potter a komnata tajomstiev
filmy: Harry Potter a pohár ohňa
Ako môžete použiť ľubovoľný výraz pomocou zipgrep, ktorý môžete použiť s grep, je nástroj veľmi výkonný a vyhľadávanie zipových súborov je oveľa jednoduchšie ako dekompresia, vyhľadávanie a opätovné stlačenie.
Ak chcete iba vyhľadať určité súbory v súbore zip, môžete v rámci príkazu určiť súbory na vyhľadávanie v zipovom súbore nasledovne:
zipgrep "Harry Potter" media.zip filmy
Výstup bude teraz nasledovný
filmy: Harry Potter a komnata tajomstiev
filmy: Harry Potter a pohár ohňa
Ak chcete vyhľadávať všetky súbory okrem jedného, môžete použiť nasledujúci príkaz:
zipgrep "Harry Potter" media.zip -x knihy
Takto sa bude produkovať rovnaký výkon ako predtým, pretože sa hľadajú všetky súbory v rámci media.zip s výnimkou kníh.