Com buscar fitxers comprimits mitjançant Linux

Aquesta guia us mostrarà com cercar fitxers comprimits per a una cadena de text o per a una expressió en particular.

Com buscar i filtrar els resultats mitjançant el comandament Grep

Una de les ordres de Linux més potents és grep, que significa "Expressió global d'expressions regulars".

Podeu utilitzar grep per cercar patrons en el contingut d'un fitxer o la sortida d'un altre comandament.

Com a exemple, si executeu l' ordre ps següent, veureu una llista de processos que s'estan executant a l'ordinador.

ps-ef

Els resultats es desplacen ràpidament a la pantalla i, en general, hi ha una gran quantitat de resultats. Això fa veure la informació especialment dolorosa.

Per descomptat, podeu utilitzar la comanda més per llistar una pàgina de resultats alhora de la següent manera:

ps -ef | més

Mentre que la sortida de l'ordre anterior és millor que l'anterior, encara heu de fer la pàgina pels resultats per trobar el que cerqueu.

L'ordre grep permet filtrar els resultats en funció dels criteris que envieu. Per exemple, per buscar tots els processos amb el UID establert a 'root', executeu el següent comandament:

ps -ef | grep root

La comanda grep també funciona en fitxers. Imagineu-vos que teniu un fitxer que conté una llista de títols de llibres. Imagineu que voleu veure si el fitxer conté "Caputxeta Vermella". Podeu cercar el fitxer de la manera següent:

grep "Llibre vermell"

El comandament grep és molt potent i aquest article mostrarà la majoria dels commutadors útils que es poden utilitzar amb ell.

Com buscar fitxers comprimits mitjançant el comandament zgrep

Una eina poc coneguda però molt potent és zgrep. L'ordre zgrep us permet buscar el contingut d'un fitxer comprimit sense haver d'extreure els continguts primer.

L'ordre zgrep es pot utilitzar contra fitxers zip o fitxers comprimits mitjançant l'ordre gzip .

Quina és la diferència?

Un fitxer zip pot contenir diversos fitxers, mentre que un fitxer comprimit usant l'ordre gzip només conté el fitxer original.

Per buscar text dins d'un fitxer comprimit amb gzip, només heu d'introduir el següent comandament:

zgrep expression filetosearch

Per exemple, imagineu que la llista de llibres s'ha comprimit usant gzip. Podeu cercar el text "capota vermella" al fitxer comprimit utilitzant el següent comandament:

zgrep "Little Red Riding Hood" bookslist.gz

Podeu utilitzar qualsevol expressió i totes les configuracions disponibles a través de l'ordre grep com a part de l'ordre zgrep.

Com cercar fitxers comprimits mitjançant el comandament zipgrep

La comanda zgrep funciona bé amb els fitxers comprimits usant gzip però no funciona tan bé en fitxers comprimits mitjançant la utilitat zip.

Podeu utilitzar zgrep si el fitxer zip conté un únic fitxer, però la majoria de fitxers zip contenen més d'un fitxer.

La comanda zipgrep s'utilitza per buscar patrons en un arxiu zip.

Com a exemple, imagineu que teniu un fitxer anomenat llibres amb els següents títols:

Imagineu també que teniu un fitxer anomenat pel·lícules amb els següents títols

Imagineu que aquests dos fitxers s'han comprimit usant el format zip en un fitxer anomenat media.zip.

Podeu utilitzar l'ordre zipgrep per trobar patrons en tots els fitxers del fitxer zip. Per exemple:

nom del fitxer del patró zipgrep

Per exemple, imagineu que voleu trobar totes les aparicions de "Harry Potter" usareu el següent comandament:

zipgrep "Harry Potter" media.zip

La sortida serà la següent:

llibres: Harry Potter i la cambra dels secrets

llibres: Harry Potter i l'ordre del fènix

pel·lícules: Harry Potter i la cambra dels secrets

pel·lícules: Harry Potter i el calze de foc

Com que podeu utilitzar qualsevol expressió amb zipgrep que podeu usar amb grep, això fa que l'eina sigui molt poderosa i fa que la cerca d'arxius zip sigui molt més simple que descomprimir, cercar i tornar a comprimir.

Si només voleu cercar certs fitxers dins del fitxer zip, podeu especificar els fitxers que cerqueu a l'arxiu zip com a part de l'ordre de la següent manera:

zipgrep "Harry Potter" pel·lícules media.zip

La sortida ara serà la següent

pel·lícules: Harry Potter i la cambra dels secrets

pel·lícules: Harry Potter i el calze de foc

Si voleu cercar tots els fitxers, excepte un podeu utilitzar el següent comandament:

zipgrep "Harry Potter" media.zip -x llibres

Això produirà la mateixa sortida que abans de cercar tots els fitxers a media.zip, excepte els llibres.