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 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:
- Harry Potter és a titkok kamrája
- A dühöngés
- Egerekről és emberekről
- A Hitchhikers Útmutató a Galaxishoz
- Harry Potter és a Phoenix rendje
Képzelje el, hogy van olyan filmje, melynek címe a következő
- A Mátrix
- Harry Potter és a titkok kamrája
- Harry Potter és a Tűz Serlege
- Csillagok háborúja - új remény
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.