Skip to content

Jak hledat komprimované soubory pomocí Linuxu

17 de Červen de 2021
GettyImages 165667304 571ed3585f9b58857d71bf08

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

Linux ps s grep

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“

Linuxový grep soubor

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

Linux zgrep

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

Linux zipgrep

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

Linux zipgrep vyhledávání podle souboru

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.