Commande AWK - Recherche chaine fichier *.gz
Résolu
pcsystemd
Messages postés
734
Statut
Membre
-
pcsystemd Messages postés 734 Statut Membre -
pcsystemd Messages postés 734 Statut Membre -
Bonjour,
Je n'arrive pas à trouver comment chercher une chaîne de caractère dans des fichiers archivés. La commande ci-dessous fonctionne sur un seul fichier :
... mais pas lorsque l'applique à des fichiers
Merci pour votre aide.
L'accès au savoir est la première liberté que chaque homme devrait avoir.
Je n'arrive pas à trouver comment chercher une chaîne de caractère dans des fichiers archivés. La commande ci-dessous fonctionne sur un seul fichier :
awk '/400/' file.txt
... mais pas lorsque l'applique à des fichiers
*.gz!
awk '/400/' *.gz
Merci pour votre aide.
Configuration: Linux
L'accès au savoir est la première liberté que chaque homme devrait avoir.
3 réponses
-
Hello,
C'est parce que les fichiers.gz
sont du binaire. Pour utiliserawk
, tu peux essayer :
gunzip -c *.gz | awk '/400/'
-
Bonjour,
Pour compléter la réponse de dubcek, beaucoup de commandes prévues pour du texte (cat
,grep
, ...) sont adaptées pour des fichiers compressés.gz
(zcat
,zgrep
, ...).
Ici, tu n'utilisesawk
que pour chercher un motif, donczgrep
est suffisant.
Exemple :
zgrep 400 *gz
Si tu veux vraiment utiliserawk
à des fichiers.gz
, tu peux faire soit comme dubcek le propose, soit lancer :
zcat *gz | awk '/400/'
Bonne chance -