Ta vodnik vam bo pokazal, kako poiskati stisnjene datoteke za niz besedila ali za določen izraz.
Kako iskati in filtrirati rezultate z ukazom Grep
Eden najmočnejših ukazov Linuxa je grep, ki pomeni "Globalni redni izrazi".
Grep lahko uporabite za iskanje vzorcev znotraj vsebine datoteke ali iz drugega ukaza.
Na primer, če zaženete naslednji ukaz ps , boste videli seznam procesov, ki se izvajajo v računalniku.
ps -ef
Rezultati se hitro pomaknete na zaslon in če je ponavadi veliko število rezultatov. Zaradi tega je informacije še posebej boleče.
Seveda lahko uporabite še več ukazov, da naenkrat naštete eno stran rezultatov, kot sledi:
ps -ef | več
Čeprav je izhod iz zgornjega ukaza boljši od prejšnjega, morate še vedno prikazati rezultate, da bi našli tisto, kar iščete.
Ukaz grep omogoča filtriranje rezultatov na podlagi meril, ki jih pošljete. Na primer, če želite poiskati vse procese z UID-jem, nastavljenim na »root«, naredite ta ukaz:
ps -ef | grep root
Ukaz grep deluje tudi na datotekah. Predstavljajte si, da imate datoteko, ki vsebuje seznam naslovov knjig. Predstavljajte si, da želite videti, ali datoteka vsebuje "Little Red Hood". Datoteko lahko poiščete na naslednji način:
grep "Little Red Hood" seznam knjig
Kako poiskati stisnjene datoteke z ukazom zgrep
Malo znano, vendar zelo močno orodje je zgrep. Ukaz zgrep omogoča iskanje vsebine stisnjene datoteke, ne da bi pri tem prvič izvlekel vsebino.
Ukaz zgrep se lahko uporabi zip datotek ali datotek, stisnjenih z ukazom gzip .
Kakšna je razlika?
Datoteka zip lahko vsebuje več datotek, medtem ko datoteka, stisnjena z ukazom gzip, vsebuje samo izvirno datoteko.
Če želite poiskati besedilo v datoteki, stisnjeni z gzip, lahko preprosto vnesete naslednji ukaz:
zgrep izraz filetosearch
Predstavljajte si, na primer, da je seznam knjig stisnjen z gzipom. V stisnjeni datoteki lahko poiščete besedilo »mali rdeči jahalec« z naslednjim ukazom:
zgrep "Rdeča kapica" booklist.gz
Uporabite lahko kateri koli izraz in vse nastavitve, ki so na voljo prek ukaza grep kot del ukaza zgrep.
Kako poiskati stisnjene datoteke z ukazom zipgrep
Ukaz zgrep dobro deluje z datotekami, stisnjenimi z gzip, vendar ne deluje tako dobro na datotekah, stisnjenih z uporabo pripomočka zip.
Zgorev lahko uporabite, če datoteka zip vsebuje eno datoteko, vendar večina zip datotek vsebuje več kot eno datoteko.
Ukaz zipgrep se uporablja za iskanje vzorcev v zip datoteki.
Predstavljajte si, da imate na primer datoteko s knjigami z naslednjimi naslovi:
- Harry Potter in dvorana skrivnosti
- Taming of the Shrew
- O miših in moških
- Vodič po avtocesti k galaksiji
- Harry Potter in red Phoenixa
Predstavljajte si, da imate datoteko, imenovano film, z naslednjimi naslovi
- Matrica
- Harry Potter in dvorana skrivnosti
- Harry Potter in pehota ognja
- Star Wars - novo upanje
Zdaj si predstavljamo, da sta bili ti dve datoteki stisnjeni z zip formatom v datoteko z imenom media.zip.
Ukaz zipgrep lahko uporabite za iskanje vzorcev v vseh datotekah v zip datoteki. Na primer:
sl Ime datoteke zipgrep
Predstavljajte si, na primer, da si želel najti vse pojave "Harry Potterja", ki bi jih uporabljali naslednji ukaz:
zipgrep "Harry Potter" media.zip
Rezultat bo naslednji:
knjige: Harry Potter in dvorana skrivnosti
knjige: Harry Potter in red feniksa
filmi: Harry Potter in dvorana skrivnosti
filmi: Harry Potter in pehota ognja
Ker lahko z izrazom zrepgrep uporabite katerikoli izraz, ki ga lahko uporabljate z grep, to naredi orodje zelo močno in naredi iskanje zip datotek veliko enostavnejše od dekompresije, iskanja in ponovnega stiskanja.
Če želite iskati samo določene datoteke v datoteki zip, lahko podate datoteke, ki jih želite preiskati v datoteki zip, kot del ukaza, kot sledi:
zipgrep "Harry Potter" media.zip filmov
Rezultat bo zdaj naslednji
filmi: Harry Potter in dvorana skrivnosti
filmi: Harry Potter in pehota ognja
Če želite poiskati vse datoteke, razen enega, lahko uporabite naslednji ukaz:
zipgrep "Harry Potter" media.zip -x knjige
To bo ustvarilo enako izhodno stanje kot prej, ker išče vse datoteke znotraj media.zip, razen za knjige.