À venir un peu en retard sur ce, a eu un problème similaire et a été en mesure de résoudre à l'aide;
zcat -r /some/dir/here | grep "blah"
Comme détaillé ici;
http://manpages.ubuntu.com/manpages/quantal/man1/gzip.1.html
Cependant, ce n'affiche pas le fichier d'origine que le résultat correspond à la à partir, au lieu de montrer "(entrée standard)" comme à partir d'un tuyau. zcat ne semble pas à l'appui de la sortie d'un nom.
En termes de performances, c'est ce que nous avons reçu;
$ alias dropcache="sync && echo 3 > /proc/sys/vm/drop_caches"
$ find 09/01 | wc -l
4208
$ du -chs 09/01
24M
$ dropcache; time zcat -r 09/01 > /dev/null
real 0m3.561s
$ dropcache; time find 09/01 -iname '*.txt.gz' -exec zcat '{}' \; > /dev/null
0m38.041s
Comme vous pouvez le voir, à l'aide de l' find|zcat
méthode est nettement plus lent que d'utiliser zcat -r
lorsque vous traitez avec même un petit volume de fichiers. J'étais aussi incapable de faire zcat sortie le nom du fichier (à l'aide d' -v
sera apparemment le nom de fichier de sortie, mais pas sur chaque ligne). Il semblerait qu'il n'y a pas actuellement un outil qui fournit à la fois la vitesse et le nom de la cohérence avec grep (c'est à dire l' -H
option).
Si vous avez besoin d'identifier le nom du fichier que le résultat appartient, alors vous aurez besoin de rédiger votre propre outil (qui pourrait être fait dans les 50 lignes de code Python) ou utiliser la méthode plus lente. Si vous n'avez pas besoin d'identifier le nom, puis utilisez zcat -r
.
Espérons que cette aide