A tömörített fájlok keresése a Linux használatával

Ez az útmutató megmutatja, hogyan kereshet tömörített fájlokat egy szövegszöveghez vagy egy adott kifejezéshez.

Hogyan kell keresni és szűrni a találatokat a Grep Command segítségével?

Az egyik legerősebb Linux parancs a grep, amely a "Global Regular Expressions Print" kifejezést jelenti.

A grep segítségével kereshet mintát egy fájl tartalmában vagy egy másik parancs kimenetét.

Például, ha a következő ps parancsot futtatja, megjelenik a számítógépen futó folyamatok listája.

ps -ef

Az eredmények gyorsabban változnak a képernyőre, és általában vannak nagyszámú eredmény. Ez különösen fájdalmasnak tekinti az információkat.

Természetesen használhatja a több parancsot az eredmények egy oldalának egyidejű felsorolására az alábbiak szerint:

ps -ef | több

Míg a fenti parancs kimenete jobb, mint az előző, akkor még mindig meg kell találnia az eredményeket, hogy megtalálja, amit keres.

A grep parancs lehetővé teszi az eredmények szűrését az Ön által küldött kritériumok alapján. Például, ha minden olyan folyamatot keres, amely az UID-készleten "root" -ra van állítva, futtassa a következő parancsot:

ps -ef | grep gyökér

A grep parancs fájlokat is működik. Képzeld el, hogy van egy fájl, amely tartalmazza a könyvcímek listáját. Képzeld el, hogy szeretnéd látni, hogy a fájl tartalmaz-e "Piroska". A fájlt a következőképpen keresheti:

grep "Piroska" könyvjelző

A grep parancs nagyon erős, és ez a cikk megmutatja a hasznos kapcsolók nagy részét, amelyek vele együtt használhatók.

A tömörített fájlok keresése a zgrep parancs segítségével

Egy kevéssé ismert, de nagyon hatékony eszköz a zgrep. A zgrep parancs segítségével tömörített fájl tartalmát keresheti, anélkül, hogy először kibontaná a tartalmat.

A zgrep parancs használható a zip fájlok vagy a gzip paranccsal tömörített fájlok ellen.

Mi a különbség?

A zip fájl több fájlt tartalmazhat, míg a gzip paranccsal tömörített fájl csak az eredeti fájlt tartalmazza.

A gzipel tömörített fájlban lévő szöveg kereséséhez egyszerűen be kell írnia a következő parancsot:

zgrep kifejezés filetosearch

Például képzeljük el, hogy a könyvek listáját a gzip segítségével tömörítettük. A tömörített fájlban a "kis piros lovagló" szöveget keresheti a következő parancs használatával:

zgrep "Piroska" bookslist.gz

A grep parancson keresztül elérhető bármely kifejezést és minden beállítást a zgrep parancs részeként használhatja.

Hogyan keressünk tömörített fájlokat a zipgrep parancs használatával?

A zgrep parancs jól működik a gzip segítségével tömörített fájlokkal, de nem működik olyan jól a zip segédprogrammal tömörített fájloknál.

Használhatja a zgrepet, ha a zip fájl egyetlen fájlt tartalmaz, de a legtöbb zip fájl több fájlt tartalmaz.

A zipgrep parancs a zip fájlban található minták keresésére szolgál.

Például képzeld el, hogy van könyved, melynek címe az alábbi címeket tartalmazza:

Képzelje el, hogy van olyan filmje, melynek címe a következő

Most képzeljük el, hogy a két fájlt tömörítettük zip formátumban egy media.zip nevű fájlba.

A zipgrep parancs segítségével megtalálhatja a zip fájl összes fájljának mintáit. Például:

zipgrep minta fájlnév

Például, képzelje el, hogy megtalálja a "Harry Potter" minden előfordulását, a következő parancsot használja:

zipgrep "Harry Potter" media.zip

A kimenet a következő lesz:

könyvek: Harry Potter és a Titkok Kamara

könyvek: Harry Potter és a Phoenix Rendje

filmek: Harry Potter és a titkok kamrája

filmek: Harry Potter és a tűz serlege

Mivel a zipgreppel bármilyen kifejezést használhat a grep használatával, ez teszi az eszközt nagyon erősvé, és a zip fájlok keresését sokkal egyszerűbbé teszi, mint a dekompresszálás, a keresés és a tömörítés.

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

zipgrep "Harry Potter" media.zip filmeket

A kimenet a következő lesz

filmek: Harry Potter és a titkok kamrája

filmek: Harry Potter és a tűz serlege

Ha az összes fájlt csak az egyikhez kívánja keresni, a következő parancsot használhatja:

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

Ez ugyanazt a kimenetet eredményezi, mint korábban, mivel a media.zip fájlok összes fájlját keresik, kivéve a könyveket.