Cum să căutați fișiere comprimate utilizând Linux

Acest ghid vă va arăta cum să căutați fișiere comprimate pentru un șir de text sau pentru o anumită expresie.

Cum să căutați și să filtrați rezultatele utilizând comanda Grep

Una dintre cele mai puternice comenzi Linux este grep care înseamnă "Global Regular Expressions Print".

Puteți utiliza grep pentru a căuta modele în conținutul unui fișier sau la ieșirea dintr-o altă comandă.

De exemplu, dacă executați următoarea comandă ps, veți vedea o listă de procese care rulează pe computerul dvs.

ps -ef

Rezultatele defilați rapid la ecran și dacă de obicei există un număr mare de rezultate. Acest lucru face ca vizualizarea informațiilor să fie deosebit de dureroasă.

S-ar putea, desigur, să utilizați comanda mai mult pentru a lista o pagină de rezultate la un moment dat, după cum urmează:

ps -ef | Mai Mult

În timp ce ieșirea de la comanda de mai sus este mai bună decât cea anterioară, trebuie să efectuați în continuare paginile rezultatelor pentru a găsi ceea ce căutați.

Comanda grep face posibilă filtrarea rezultatelor pe baza criteriilor pe care le trimiteți. De exemplu, pentru a căuta toate procesele cu UID setat la 'root', executați următoarea comandă:

ps -ef | grep rădăcină

Comanda grep funcționează și pe fișiere. Imaginați-vă că aveți un fișier care conține o listă de titluri de carte. Imaginați-vă că doriți să vedeți dacă fișierul conține "Little Red Riding Hood". Puteți căuta fișierul după cum urmează:

grep "Little Red Riding Hood" listă de carte

Comanda grep este foarte puternică și acest articol va arăta majoritatea comutatoarelor utile care pot fi utilizate împreună cu acesta.

Cum să căutați fișiere comprimate utilizând comanda zgrep

Un instrument puțin cunoscut, dar foarte puternic, este zgrep. Comanda zgrep vă permite să căutați conținutul unui fișier comprimat fără a extrage mai întâi conținutul.

Comanda zgrep poate fi folosită împotriva fișierelor zip sau a fișierelor comprimate folosind comanda gzip .

Care este diferența?

Un fișier zip poate conține mai multe fișiere, în timp ce un fișier comprimat folosind comanda gzip conține numai fișierul original.

Pentru a căuta text într-un fișier comprimat cu gzip, puteți introduce următoarea comandă:

zgrep expresie filetosearch

De exemplu, imaginați-vă că lista de cărți a fost comprimată folosind gzip. Puteți căuta textul "capota roșie" în fișierul comprimat utilizând următoarea comandă:

zgrep "Little Red Riding Hood" cărți.gz

Puteți utiliza orice expresie și toate setările disponibile prin comanda grep ca parte a comenzii zgrep.

Cum să căutați fișiere comprimate utilizând comanda zipgrep

Comanda zgrep funcționează bine cu fișiere comprimate folosind gzip, dar nu funcționează atât de bine pe fișierele comprimate utilizând utilitarul zip.

Puteți utiliza zgrep dacă fișierul zip conține un singur fișier, dar cele mai multe fișiere zip conțin mai mult de un fișier.

Comanda zipgrep este utilizată pentru a căuta modele în cadrul unui fișier zip.

Ca exemplu, imaginați-vă că aveți un fișier numit cărți cu următoarele titluri:

Imaginați-vă, de asemenea, că aveți un fișier numit filme cu următoarele titluri

Imaginați-vă că aceste două fișiere au fost comprimate utilizând formatul zip într-un fișier numit media.zip.

Puteți utiliza comanda zipgrep pentru a găsi modele în toate fișierele din fișierul zip. De exemplu:

zipgrep nume de fișier model

De exemplu, imaginați-vă că ați dorit să găsiți toate aparițiile "Harry Potter" pe care ați folosi următoarea comandă:

zipgrep "Harry Potter" media.zip

Rezultatul va fi următorul:

cărți: Harry Potter și Camera Secretelor

cărți: Harry Potter și Ordinul Phoenix

filme: Harry Potter și Camera Secretelor

filme: Harry Potter și paharul de foc

După cum puteți folosi orice expresie cu zipgrep pe care o puteți utiliza cu grep, acest lucru face ca instrumentul să fie foarte puternic și face ca fișierele zip să fie mult mai simple decât decomprimarea, căutarea și apoi compresia din nou.

Dacă doriți să căutați numai anumite fișiere din fișierul zip, puteți specifica fișierele de căutare din fișierul zip ca parte a comenzii după cum urmează:

zipgrep "Harry Potter" filme media.zip

Ieșirea va fi acum după cum urmează

filme: Harry Potter și Camera Secretelor

filme: Harry Potter și paharul de foc

Dacă doriți să căutați toate fișierele în afară de unul, puteți utiliza următoarea comandă:

zipgrep "Harry Potter" media.zip -x cărți

Acest lucru va produce aceeași ieșire ca înainte, deoarece căutând toate fișierele din media.zip, cu excepția cărților.