Tato příručka vám ukáže, jak vyhledávat komprimované soubory pro řetězec textu nebo pro konkrétní výraz.
Jak vyhledávat a filtrovat výsledky pomocí příkazu Grep
Jedním z nejsilnějších příkazů Linuxu je grep, což znamená "Global Regular Expressions Print".
Můžete použít příkaz grep pro vyhledání vzorků v rámci obsahu souboru nebo výstupu z jiného příkazu.
Například pokud spustíte následující příkaz ps , uvidíte seznam procesů, které jsou spuštěny v počítači.
ps -ef
Výsledky rychle přejděte na obrazovku a zjistíte, jestli jsou obvykle velké množství výsledků. To vede k tomu, že informace jsou obzvláště bolestivé.
Samozřejmě můžete použít příkaz více, abyste mohli najednou vypsat jednu stránku výsledků takto:
ps -ef | více
Zatímco výstup z výše uvedeného příkazu je lepší než předchozí, stále musíte procházet výsledky, abyste zjistili, co hledáte.
Příkaz grep umožňuje filtrování výsledků na základě kritérií, která mu zašlete. Chcete-li například vyhledat všechny procesy s UID nastaveným na 'root', spusťte následující příkaz:
ps -ef | grep root
Příkaz grep pracuje také na souborech. Představte si, že máte soubor, který obsahuje seznam názvů knih. Představte si, že chcete zjistit, zda soubor obsahuje "Little Red Riding Hood". Soubor můžete vyhledat následujícím způsobem:
grep "Little Red Riding Hood" seznam knih
Jak vyhledávat komprimované soubory pomocí příkazu zgrep
Trochu známý, ale velmi silný nástroj je zgrep. Příkaz zgrep umožňuje vyhledávat obsah komprimovaného souboru bez vyjímání obsahu.
Příkaz zgrep lze použít pro zip soubory nebo soubory komprimované pomocí příkazu gzip .
Jaký je rozdíl?
Soubor zip může obsahovat více souborů, zatímco soubor komprimovaný pomocí příkazu gzip obsahuje pouze původní soubor.
Chcete-li vyhledat text v souboru komprimovaném pomocí gzip, jednoduše zadejte následující příkaz:
zgrep výrazu filetosearch
Představte si například, že seznam knih byl komprimován pomocí gzip. V komprimovaném souboru můžete vyhledávat text "malý červený jezdec" pomocí následujícího příkazu:
zgrep "Little Red Hood" knihy.gz
Pomocí příkazu grep můžete použít jakýkoli výraz a všechna nastavení dostupná jako součást příkazu zgrep.
Jak vyhledávat komprimované soubory pomocí příkazu zipgrep
Příkaz zgrep pracuje dobře se soubory komprimovanými pomocí gzip, ale nefunguje tak dobře na souborech komprimovaných pomocí nástroje zip.
Zgrep můžete použít, pokud soubor ZIP obsahuje jeden soubor, ale většina zip souborů obsahuje více než jeden soubor.
Příkaz zipgrep se používá k vyhledání vzorků v souboru ZIP.
Jako příklad si představte, že máte soubor nazvaný knihy s následujícími tituly:
- Harry Potter a Tajemná komnata
- Zkrocení zlé ženy
- O myších a lidech
- Stopařský průvodce po galaxii
- Harry Potter a řád Phoenixu
Představte si také, že máte soubor nazvaný filmy s následujícími titulky
- Matrix
- Harry Potter a Tajemná komnata
- Harry Potter a Ohnivý pohár
- Star Wars - nová naděje
Nyní si představte, že tyto dva soubory byly komprimovány pomocí formátu zip do souboru s názvem media.zip.
Pomocí příkazu zipgrep můžete najít vzory ve všech souborech v souboru zip. Například:
zipgrep pattern filename
Například si představte, že chcete najít všechny výskyty "Harry Potter", použijete následující příkaz:
zipgrep "Harry Potter" media.zip
Výstup bude následující:
knihy: Harry Potter a tajemná komnata
knihy: Harry Potter a řádek Phoenixu
filmy: Harry Potter a komnata tajemství
filmy: Harry Potter a Ohnivý pohár
Jak můžete použít libovolný výraz pomocí zipgrep, který můžete použít s grep, je nástroj velmi výkonný a vyhledává zipové soubory mnohem jednodušší než dekomprimování, vyhledávání a opětovné komprese.
Pokud chcete pouze vyhledat určité soubory v souboru ZIP, můžete zadat soubory, které chcete vyhledat v souboru ZIP, jako součást příkazu:
zipgrep "Harry Potter" media.zip filmy
Výstup bude nyní následující
filmy: Harry Potter a komnata tajemství
filmy: Harry Potter a Ohnivý pohár
Pokud chcete vyhledat všechny soubory kromě jednoho, můžete použít následující příkaz:
zipgrep "Harry Potter" media.zip -x knihy
Tím se vytvoří stejný výstup jako předtím, protože vyhledává všechny soubory v media.zip kromě knih.