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
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:
- Harry Potter en die kamer van geheime
- Taming Of The Shrew
- Van Muise En Mans
- Die Hitchhikers Guide to The Galaxy
- Harry Potter En Die Orde Van Die Phoenix
Verbeel jou ook dat jy 'n lêer met die volgende titels genaamd films het
- Die Matrix
- Harry Potter en die kamer van geheime
- Harry Potter En The Goblet Of Fire
- Star Wars - 'n nuwe hoop
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.