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
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:
- Harry Potter și Camera Secretelor
- Taming of the Shrew
- Despre soareci si barbati
- Ghidul autostopistului galactic
- Harry Potter și Ordinul Phoenix
Imaginați-vă, de asemenea, că aveți un fișier numit filme cu următoarele titluri
- Matricea
- Harry Potter și Camera Secretelor
- Harry Potter și Pocalul de Foc
- Războaiele secundare - o nouă speranță
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.