Hoe om saamgeperste lêers te soek deur Linux te gebruik

Hierdie gids sal jou wys hoe om saamgeperste lêers vir 'n string teks of vir 'n spesifieke uitdrukking te soek.

Hoe om resultate te soek en te filter deur die grep-opdrag te gebruik

Een van die mees kragtige Linux opdragte is grep wat staan ​​vir "Global Regular Expressions Print".

Jy kan grep gebruik om patrone binne die inhoud van 'n lêer of die uitvoer van 'n ander opdrag te soek.

As u byvoorbeeld die volgende ps-opdrag uitvoer , sal u 'n lys prosesse sien wat op u rekenaar loop.

ps -ef

Die resultate blaai vinnig na die skerm en as daar gewoonlik 'n groot aantal resultate is. Dit maak die inligting besonder pynlik.

U kan natuurlik die meer opdrag gebruik om een ​​bladsy resultate per keer soos volg te lys:

ps -ef | meer

Alhoewel die uitset van die bogenoemde opdrag beter is as die vorige, moet u steeds deur die resultate blaai om te vind waarvoor u soek.

Die grep-opdrag maak dit moontlik om die resultate te filter op grond van die kriteria wat u daarheen stuur. As jy byvoorbeeld wil soek na alle prosesse met die UID wat ingestel is op 'root', voer die volgende opdrag uit:

ps -ef | grep wortel

Die grep-opdrag werk ook op lêers. Stel jou voor dat jy 'n lêer het wat 'n lys van boektitels bevat. Stel jou voor dat jy wil sien of die lêer "Klein Rooi Ruitkap" bevat. U kan die lêer soos volg soek:

grep "Little Red Riding Hood" boeklys

Die grep opdrag is baie kragtig en hierdie artikel sal die meeste van die nuttige skakelaars wys wat daarmee gebruik kan word.

Hoe om saamgeperste lêers te soek deur die zgrep-opdrag te gebruik

'N bietjie bekende maar baie kragtige instrument is zgrep. Die zgrep-opdrag laat jou toe om die inhoud van 'n saamgeperste lêer te soek sonder om eers die inhoud te onttrek.

Die zgrep-opdrag kan gebruik word teen zip-lêers of lêers wat saamgepers word met die gzip-opdrag .

Wat is die verskil?

'N Poslêer kan veelvuldige lêers bevat, terwyl 'n lêer wat saamgepers word met die gzip-opdrag slegs die oorspronklike lêer bevat.

Om te soek na teks binne 'n lêer wat met gzip saamgepers is, kan jy eenvoudig die volgende opdrag invoer:

zgrep uitdrukking filetosearch

Byvoorbeeld, dink die boeke lys is saamgepers met behulp van gzip. U kan die teks "rooikappie" in die saamgeperste lêer soek deur die volgende opdrag te gebruik:

zgrep "Little Red Riding Hood" bookslist.gz

U kan enige uitdrukking en al die instellings wat beskikbaar is via die grep-opdrag as deel van die zgrep-opdrag gebruik.

Hoe om saamgeperste lêers te soek deur die zipgrep-opdrag te gebruik

Die zgrep-opdrag werk goed met lêers wat saamgepers word met behulp van gzip, maar werk nie so goed op lêers saamgepers met behulp van die zip-nut nie.

U kan zgrep gebruik as die zip-lêer 'n enkele lêer bevat, maar die meeste zip-lêers bevat meer as een lêer.

Die zipgrep-opdrag word gebruik om patrone binne 'n zip-lêer te soek.

As voorbeeld, dink jy het 'n lêer genaamd boeke met die volgende titels:

Verbeel jou ook dat jy 'n lêer met die volgende titels genaamd films het

Stel nou voor dat hierdie twee lêers saamgepers is met behulp van die zip-formaat in 'n lêer genaamd media.zip.

U kan die zipgrep-opdrag gebruik om patrone binne al die lêers binne die zip-lêer te vind. Byvoorbeeld:

zipgrep patroon lêernaam

Byvoorbeeld, dink jy wou al die gebeurtenisse van "Harry Potter" vind wat jy die volgende opdrag sou gebruik:

zipgrep "Harry Potter" media.zip

Die uitset sal soos volg wees:

boeke: Harry Potter en die kamer van geheime

boeke: Harry Potter En Die Orde Van Die Phoenix

films: Harry Potter en die kamer van geheime

films: Harry Potter En The Goblet Of Fire

Aangesien jy 'n uitdrukking met zipgrep kan gebruik wat jy met grep kan gebruik, maak dit die instrument baie kragtig. Dit maak soeklêers baie makliker as om te dekompresseer, soek en dan weer saam te druk.

As u slegs sekere lêers in die zip-lêer wil soek, kan u die lêers spesifiseer om in die zip-lêer te soek as deel van die opdrag soos volg:

zipgrep "Harry Potter" media.zip films

Die uitset sal nou soos volg wees

films: Harry Potter en die kamer van geheime

films: Harry Potter En The Goblet Of Fire

As u al die lêers wil soek, behalwe een, kan u die volgende opdrag gebruik:

zipgrep "Harry Potter" media.zip -x boeke

Dit sal dieselfde uitset lewer as voorheen aangesien dit alle lêers in media.zip soek, behalwe vir boeke.