Skip to content

Pakattujen tiedostojen etsiminen Linuxin avulla

24 de kesäkuu de 2021

Tämä opas näyttää, kuinka etsiä pakattuja tiedostoja Linux-tietokoneelta tekstijonon tai tietyn lausekkeen suhteen.

Kuinka etsiä ja suodattaa tuloksia grep-komennolla

Yksi tehokkaimmista Linux-komennoista on grep, joka tarkoittaa Global Regular Expressions Print -tulostusta. Voit hakea grep-tiedostoa malleista tiedoston sisällöstä tai toisen komennon lähdöstä. Suorita esimerkiksi seuraava ps-komento nähdäksesi luettelon tietokoneellasi käynnissä olevista prosesseista: ps -ef

class = ”ql-syntax”> Tulokset vierittyvät näytöllä nopeasti. Jos tuloksia on paljon, tämä tekee tietojen katselemisesta hämmentävää.

Voit lopettaa sivun vierityksen käyttämällä lisää komentoa luetteloiden yhden sivun kerrallaan seuraavasti: ps -ef | lisää

Vaikka yllä olevan komennon tulos on parempi kuin edellinen, sinun on silti selattava tuloksia löytääksesi tarvitsemasi. Grep-komento antaa mahdollisuuden suodattaa tulokset sille lähettämiesi ehtojen perusteella. Esimerkiksi kaikkien prosessien etsiminen UID-asetuksella juuri, suorita seuraava komento: ps -ef | grep-juuret

Linux ps ja grep

Grep-komento toimii myös tiedostoissa. Kuvittele, että sinulla on tiedosto, joka sisältää luettelon kirjojen nimistä, ja haluat nähdä, sisältääkö tiedosto Pieni Punahilkka. Voit hakea tiedostosta seuraavasti: grep ”Punahilkka” -kirjaluettelo

Linux-grep-tiedosto

Grep-komento on tehokas, ja sen kanssa voidaan käyttää monia hyödyllisiä kytkimiä.

Pakattujen tiedostojen haku zgrep-komennolla

Vähän tunnettu, mutta erittäin tehokas työkalu on zgrep. Zgrep-komennon avulla voit etsiä pakatun tiedoston sisältöä purkamatta sisältöä ensin. Zgrep-komentoa voidaan käyttää zip-tiedostoissa tai gzip-komennolla pakatuissa tiedostoissa. Mikä on ero? Zip-tiedosto voi sisältää useita tiedostoja, kun taas gzip-komennolla pakattu tiedosto sisältää vain alkuperäisen tiedoston. Voit etsiä tekstiä tiedostosta, joka on pakattu gzip: llä, kirjoittamalla seuraava komento: zgrep expression filetosearch

Kuvittele esimerkiksi, että kirjaluettelo on pakattu gzip: llä. Voit hakea tekstiä pieni Punahilkka pakatussa tiedostossa seuraavalla komennolla: zgrep ”Punahilkka” bookslist.gz

Linux zgrep

Voit käyttää mitä tahansa lauseketta ja kaikkia grep-komennolla käytettävissä olevia asetuksia osana zgrep-komentoa.

Pakattujen tiedostojen haku zipgrep-komennolla

Zipgrep-komentoa käytetään kuvioiden etsimiseen zip-tiedostosta. Zgrep-komento toimii hyvin tiedostoilla, jotka on pakattu gzip-tiedostolla, mutta ei niin hyvin tiedostoilla, jotka on pakattu zip-apuohjelman avulla. Voit käyttää zgrep-tiedostoa, jos zip-tiedosto sisältää yhden tiedoston, mutta useimmat zip-tiedostot sisältävät useamman kuin yhden tiedoston. Kuvittele esimerkiksi, että sinulla on tiedosto nimeltä kirjoja seuraavilla otsikoilla:

  • Harry Potter ja salaisuuksien kammio
  • Typerän kesyttäminen
  • Hiiristä ja miehistä
  • Linnunradan käsikirja liftareille
  • Harry Potter ja Feeniksin järjestys

Kuvittele myös, että sinulla on tiedosto nimeltä elokuvia seuraavilla otsikoilla:

  • Matriisi
  • Harry Potter ja salaisuuksien kammio
  • Harry Potter ja tulen pikari
  • Tähtien sota: Uusi toivo

Kuvittele nyt, että nämä kaksi tiedostoa on pakattu zip-muodossa tiedostoksi nimeltä media.zip. Voit etsiä kuvioita zip-tiedoston tiedostoista zipgrep-komennon avulla. Esimerkiksi: zipgrep-mallin tiedostonimi

Löytää kaikki esiintymät Harry Potter, käytä seuraavaa komentoa: zipgrep ”Harry Potter” media.zip

Tuotos on seuraava: kirjat: Harry Potter ja salaisuuksien kammio
kirjat: Harry Potter ja Feeniksin järjestys
elokuvat: Harry Potter ja salaisuuksien kammio
elokuvat: Harry Potter ja tulen pikari

Linuxin zipgrep

Koska voit käyttää mitä tahansa zipgrep-lauseketta, jota voit käyttää grepin kanssa, tämä tekee työkalusta erittäin tehokkaan ja tekee zip-tiedostojen etsinnästä yksinkertaisempaa kuin purkaa, etsiä ja sitten pakata uudelleen. Jos haluat etsiä vain tiettyjä tiedostoja zip-tiedostosta, määritä tiedostot, joita etsitään zip-tiedostosta osana komentoa, seuraavasti: zipgrep ”Harry Potter” media.zip movies

Tuotos on seuraava: elokuvat: Harry Potter ja salaisuuksien kammio
elokuvat: Harry Potter ja tulen pikari

Linux-zipgrep-haku tiedostokohtaisesti

Jos haluat hakea kaikkia tiedostoja lukuun ottamatta yhtä, käytä seuraavaa komentoa: zipgrep ”Harry Potter” media.zip -x kirjat

Tämä tuottaa saman tuloksen kuin aiemmin, kun se etsii kaikkia tiedostoja media.zip lukuun ottamatta kirjoja.