Hvordan bruke zgrep- og zipgrep-kommandoene til å søke i komprimerte filer
Denne veiledningen viser deg hvordan du søker etter komprimerte filer på en Linux datamaskin for en tekststreng eller et bestemt uttrykk.
Hvordan søke og filtrere resultater ved hjelp av grep-kommandoen
En av de kraftigste Linux-kommandoene er grep, som står for Global Regular Expressions Print. Du kan bruke grep til å søke etter mønstre i innholdet i en fil eller utdata fra en annen kommando.
Kjør følgende som et eksempel ps kommando for å se listen over prosesser som kjører på datamaskinen din:
ps -ef
Resultatene ruller raskt på skjermen. Hvis det er et stort antall resultater, gjør dette visningen av informasjonen forvirrende.

For å stoppe siden fra å rulle, bruk mer kommando for å vise én side med resultater om gangen, som følger:
ps -ef | mer.
Selv om utdataene fra kommandoen ovenfor er bedre enn den forrige, må du fortsatt bla gjennom resultatene for å finne det du trenger.
grep-kommandoen gjør det mulig å filtrere resultatene basert på kriteriene du sender til den. For eksempel for å søke etter alle prosesser med UID satt til rot, kjør følgende kommando:
ps -ef | grep rot.

grep-kommandoen fungerer også på filer. Tenk deg at du har en fil som inneholder en liste over boktitler, og du vil se om filen inneholder Rødhette. Du kan søke i filen som følger:
grep "Rødhette" bokliste.

De grep kommando er kraftig, og mange nyttige brytere kan brukes med den.
Hvordan søke i komprimerte filer ved hjelp av zgrep-kommandoen
Et lite kjent, men veldig kraftig verktøy er zgrep. zgrep-kommandoen lar deg søke i innholdet i en komprimert fil uten å trekke ut innholdet først. zgrep-kommandoen kan brukes på zip-filer eller filer komprimert ved hjelp av gzip kommando.
Hva er forskjellen? En zip-fil kan inneholde flere filer, mens en fil komprimert med gzip-kommandoen bare inneholder den originale filen.
For å søke etter tekst i en fil komprimert med gzip, skriv inn følgende kommando:
zgrep uttrykk filetsearch.
Tenk deg for eksempel at boklisten ble komprimert med gzip. Du kan søke etter teksten Rødhette i den komprimerte filen ved å bruke følgende kommando:
zgrep "Little Red Riding Hood" bookslist.gz.

Du kan bruke et hvilket som helst uttrykk, og alle innstillingene som er tilgjengelige med grep-kommandoen som en del av zgrep-kommandoen.
Hvordan søke etter komprimerte filer ved hjelp av zipgrep-kommandoen
Zipgrep-kommandoen brukes til å søke etter mønstre i en zip-fil. zgrep-kommandoen fungerer bra med filer komprimert med gzip, men fungerer ikke så bra på filer komprimert ved hjelp av zip-verktøyet. Du kan bruke zgrep hvis zip-filen inneholder en enkelt fil, men de fleste zip-filer inneholder mer enn én fil.
Tenk deg som et eksempel at du har en fil som heter bøker med følgende titler:
- Harry Potter og hemmelighetenes kammer
- Temming av spissmusen
- Av mus og menn
- Haikerens guide til galaksen
- Harry Potter og Føniksordenen
Tenk deg også at du har en fil som heter filmer med følgende titler:
- Matrisen
- Harry Potter og hemmelighetenes kammer
- Harry Potter og ildbegeret
- Star Wars: Et nytt håp
Tenk deg nå at disse to filene har blitt komprimert ved hjelp av zip-formatet til en fil kalt media.zip. Du kan bruke zipgrep-kommandoen til å finne mønstre i filene i zip-filen. For eksempel:
zipgrep mønster filnavn.
For å finne alle forekomster av Harry Potter, bruk følgende kommando:
zipgrep "Harry Potter" media.zip.
Utgangen er som følger:
bøker: Harry Potter and the Chamber of Secrets
bøker: Harry Potter og Føniksordenen
filmer: Harry Potter and the Chamber of Secrets
filmer: Harry Potter and the Goblet of Fire.

Ettersom du kan bruke et hvilket som helst uttrykk med zipgrep som du kan bruke med grep, gjør dette verktøyet veldig kraftig, og det gjør det enklere å søke i zip-filer enn å dekomprimere, søke og deretter komprimere en gang til.
Hvis du bare vil søke i visse filer i zip-filen, spesifiser filene som skal søkes i zip-filen som en del av kommandoen, som følger:
zipgrep "Harry Potter" media.zip-filmer.
Utgangen er som følger:
filmer: Harry Potter and the Chamber of Secrets
filmer: Harry Potter and the Goblet of Fire.

Hvis du vil søke i alle filene unntatt én, bruk følgende kommando:
zipgrep "Harry Potter" media.zip -x bøker.
Dette gir samme utdata som før ettersom det søker i alle filene innenfor media.zip bortsett fra bøker.