A zgrep és zipgrep parancsok használata a tömörített fájlok kereséséhez

Ez az útmutató bemutatja, hogyan kereshet tömörített fájlokat a Linux számítógép egy karakterlánchoz vagy egy adott kifejezéshez.

Az eredmények keresése és szűrése a grep paranccsal

Az egyik legerősebb Linux-parancs a grep, ami a Global Regular Expressions Print rövidítése. A grep segítségével mintákat kereshet egy fájl tartalmában vagy egy másik parancs kimenetében.

Példaként futtassa a következőt ps parancs a számítógépen futó folyamatok listájának megtekintéséhez:

ps -ef

Az eredmények gyorsan gördülnek a képernyőn. Ha sok találat van, ez zavaróvá teszi az információk megtekintését.

Linux ps parancs

Az oldal görgetésének leállításához használja a több parancsot az eredmények egy-egy oldalának felsorolásához, az alábbiak szerint:

ps -ef | több. 

Bár a fenti parancs kimenete jobb, mint az előző, még mindig át kell lapoznia az eredményeket, hogy megtalálja, amire szüksége van.

A grep parancs lehetővé teszi az eredmények szűrését a neki küldött feltételek alapján. Például az összes olyan folyamat megkereséséhez, amelynek az UID értéke: gyökér, futtassa a következő parancsot:

ps -ef | grep gyökér. 
Linux ps grep-pel

A grep parancs fájlokon is működik. Képzelje el, hogy van egy fájlja, amely a könyvcímek listáját tartalmazza, és látni szeretné, hogy a fájl tartalmazza-e Piroska. A következőképpen kereshet a fájlban:

grep "Piroska" könyvlista. 
Linux grep fájl

Az grep parancsot erős, és sok hasznos kapcsoló használható vele.

Hogyan keressünk tömörített fájlokat a zgrep paranccsal

Egy kevéssé ismert, de nagyon hatékony eszköz a zgrep. A zgrep paranccsal a tömörített fájl tartalmában kereshet anélkül, hogy először kicsomagolná a tartalmat. A zgrep parancs használható zip fájlok vagy a segítségével tömörített fájlokat gzip parancs.

Mi a különbség? Egy zip fájl több fájlt is tartalmazhat, míg a gzip paranccsal tömörített fájl csak az eredeti fájlt tartalmazza.

Ha szöveget szeretne keresni egy gzip-el tömörített fájlban, írja be a következő parancsot:

zgrep kifejezés fájlkeresés. 

Képzelje el például, hogy a könyvlistát a gzip használatával tömörítették. Kereshetsz a szövegre Piroska a tömörített fájlban a következő paranccsal:

zgrep "Piroska" bookslist.gz. 
Linux zgrep

Bármilyen kifejezést és a grep paranccsal elérhető összes beállítást használhatja a zgrep parancs részeként.

Hogyan keressünk tömörített fájlokat a zipgrep paranccsal

A zipgrep parancs a minták keresésére szolgál egy zip fájlban. A zgrep parancs jól működik a gzip használatával tömörített fájlokkal, de nem működik olyan jól a zip segédprogrammal tömörített fájlokkal. A zgrep parancsot akkor használhatja, ha a zip fájl egyetlen fájlt tartalmaz, de a legtöbb zip fájl egynél több fájlt tartalmaz.

Példaként képzeljük el, hogy van egy nevű fájlja könyveket a következő címekkel:

  • Harry Potter és a titkok kamrája
  • A cickány megszelídítése
  • Egerekről és emberekről
  • A stopposok útmutatója a galaxishoz
  • Harry Potter és a Főnix Rendje

Képzelje el továbbá, hogy van egy nevű fájlja filmeket a következő címekkel:

  • A Mátrix
  • Harry Potter és a titkok kamrája
  • Harry Potter és a Tűz Serlege
  • Star Wars: Egy új remény

Most képzeljük el, hogy ezt a két fájlt zip formátumban tömörítették egy nevű fájlba media.zip. A zipgrep paranccsal mintákat kereshet a zip fájlban található fájlokban. Például:

zipgrep minta fájlnév. 

Hogy megtalálja az összes előfordulását Harry Potter, használja a következő parancsot:

zipgrep "Harry Potter" media.zip. 

A kimenet a következő:

könyvek: Harry Potter és a titkok kamrája
könyvek: Harry Potter és a Főnix Rendje
filmek: Harry Potter és a titkok kamrája
filmek: Harry Potter és a tűz serlege.
Linux zipgrep

Mivel a zipgrep-ben bármilyen kifejezést használhat, amit a grep-pel is használhat, ez az eszközt nagyon jóvá teszi hatékony, és egyszerűbbé teszi a zip-fájlok keresését, mint a kicsomagolást, keresést, majd tömörítést újra.

Ha csak bizonyos fájlokat szeretne keresni a zip fájlban, adja meg a zip fájlban keresendő fájlokat a parancs részeként, az alábbiak szerint:

zipgrep "Harry Potter" media.zip filmek. 

A kimenet a következő:

filmek: Harry Potter és a titkok kamrája
filmek: Harry Potter és a tűz serlege.
Linux zipgrep keresés fájl szerint

Ha egy kivételével az összes fájlban szeretne keresni, használja a következő parancsot:

zipgrep "Harry Potter" media.zip -x könyvek. 

Ez ugyanazt a kimenetet adja, mint korábban, mivel az összes fájlban keres media.zip kivéve a könyveket.