Tato příručka vám ukáže, jak hledat v komprimovaných souborech v počítači se systémem Linux řetězec textu nebo konkrétní výraz.
Jak hledat a filtrovat výsledky pomocí příkazu grep
Jedním z nejsilnějších příkazů Linuxu je grep, což je zkratka pro Global Regular Expressions Print. Můžete použít grep k vyhledání vzorů v obsahu souboru nebo výstupu z jiného příkazu. Jako příklad spusťte následující příkaz ps, abyste zobrazili seznam procesů spuštěných v počítači: ps -ef
class = „ql-syntax“> Výsledky se na obrazovce rychle posouvají. Pokud existuje velký počet výsledků, je zobrazení informací matoucí.
Chcete-li zastavit posouvání stránky, použijte příkaz more k vypsání jedné stránky výsledků najednou, 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 našli to, co potřebujete. Příkaz grep umožňuje filtrovat výsledky na základě kritérií, která mu pošlete. Například hledat všechny procesy s nastaveným UID vykořenit, spusťte následující příkaz: ps -ef | grep root
Příkaz grep funguje také na soubory. Představte si, že máte soubor, který obsahuje seznam titulů knih, a chcete zjistit, zda soubor obsahuje Červená Karkulka. Soubor můžete vyhledat následujícím způsobem: grep seznam knih „Červená Karkulka“
Příkaz grep je výkonný a lze s ním použít mnoho užitečných přepínačů.
Jak hledat komprimované soubory pomocí příkazu zgrep
Trochu známý, ale velmi výkonný nástroj je zgrep. Příkaz zgrep vám umožňuje prohledávat obsah komprimovaného souboru, aniž byste nejprve obsah extrahovali. Příkaz zgrep lze použít na soubory zip 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, zadejte následující příkaz: zgrep výraz filetosearch
Představte si například, že byl seznam knih komprimován pomocí gzip. Můžete vyhledat text červená Karkulka v komprimovaném souboru pomocí následujícího příkazu: zgrep „Červená Karkulka“ bookslist.gz
Jako součást příkazu zgrep můžete použít libovolný výraz a všechna nastavení dostupná u příkazu grep.
Jak vyhledávat komprimované soubory pomocí příkazu zipgrep
Příkaz zipgrep se používá k hledání vzorů v souboru zip. Příkaz zgrep funguje dobře se soubory komprimovanými pomocí gzip, ale nefunguje tak dobře u souborů komprimovaných pomocí nástroje zip. Zgrep můžete použít, pokud soubor zip obsahuje jeden soubor, ale většina souborů zip obsahuje více než jeden soubor. Jako příklad si představte, že máte soubor s názvem knihy s následujícími tituly:
- Harry Potter a Tajemná komnata
- Zkrocení zlé ženy
- O myších a lidech
- Stopařův průvodce po Galaxii
- Harry Potter a Fénixův řád
Představte si také, že máte soubor s názvem filmy s následujícími tituly:
- Matice
- 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 v souborech v souboru zip. Například: název souboru zipgrep
Najít všechny výskyty Harry Potter, použijte následující příkaz: zipgrep „Harry Potter“ media.zip
Výstup je následující: knihy: Harry Potter a Tajemná komnata
knihy: Harry Potter a Fénixův řád
filmy: Harry Potter a Tajemná komnata
filmy: Harry Potter a Ohnivý pohár
Protože můžete použít libovolný výraz se zipgrep, který můžete použít s grepem, je tento nástroj velmi výkonný a vyhledávání souborů zip je jednodušší než dekomprese, vyhledávání a opětovná komprese. Pokud chcete prohledávat pouze určité soubory v souboru zip, zadejte soubory, které chcete prohledat v souboru zip, jako součást příkazu: zipgrep „Harry Potter“ media.zip films
Výstup je následující: filmy: Harry Potter a Tajemná komnata
filmy: Harry Potter a Ohnivý pohár
Pokud chcete prohledat všechny soubory kromě jednoho, použijte následující příkaz: zipgrep „Harry Potter“ media.zip -x knihy
To produkuje stejný výstup jako předtím, protože prohledává všechny soubory v rámci media.zip kromě knih.