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 1
Elle 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 1
Et voilà.
À demain.
/ / / / / / / / / /
« Utiliser une version particulière d'une gem Ruby... dans une gem ---//---
Un algorithme génétique en Julia - partie 7 »