Faire une recherche grep sur un fichier texte compressé

Si vous souhaitez faire un grep sur un fichier texte compressé, habituellement vous aller le décompresser puis faire un grep sur le fichier décompressé et ensuite le supprimer.
Vous n’aurez plus besoin d’effectuer cette étape avec la commande zgrep, qui est une version modifiée de grep. zgrep fonctionne comme grep excepté qu’il ne fonctionne que sur des fichiers textes qui ont été compressés avec la commande gzip.

Par exemple, si vous voulez rechercher tous les appels en post à l’url « myform.php » dans les logs Apache il vous suffit de faire :

zgrep 'POST myform.php' access_log.tar.gz

Vous pouvez bien entendu, rajouter un pipe avec des grep pour cibler plus votre recherche. Par exemple rechercher une @IP

zgrep 'POST myform.php' access_log.tar.gz | grep 127.0.0.1

 

Comme vous pouvez le voir, zgrep est plus simple d’utilisation qu’un enchaînement des 3 commandes suivantes gunzip suivi d’un grep puis d’un rm.