Rechercher avec grep dans un fichier compressé
Il vous arrive peut-être parfois d’avoir à fouiller des fichiers de log ?
Vous utiliser grep pour ça ? Et comment faire quand les logs sont
compressés ?
Lorsque le log est normal, c’est à dire non-compressé, on peut utiliser la
commande grep suivante:
$ grep --color 'LOWER' test.log
User Exists (0.8ms) SELECT 1 AS one FROM "users" WHERE LOWER("users"."email") = LOWER('foo@example.com') LIMIT 1Elle va afficher toutes les lignes du fichier test.log qui contiennent le
mot LOWER.
Mais si on fait la même chose sur un log compressé:
$ grep --color 'LOWER' test.log.1.gz
$ 1Ça ne fonctionne pas. Ci-dessus, le $ 1, c’est mon shell qui m’affiche
une erreur sous la forme du code de retour (une idée pour un futur article).
Pour chercher dans un fichier compressé avec grep, on peut utiliser très
simplement la commande zgrep:
$ zgrep --color 'LOWER' test.log.1.gz
User Exists (0.8ms) SELECT 1 AS one FROM "users" WHERE LOWER("users"."email") = LOWER('foo@example.com') LIMIT 1Et voilà.
À demain.
/ / / / / / / / / /
« Utiliser une version particulière d'une gem Ruby... dans une gem ---//---
Un algorithme génétique en Julia - partie 7 »