Comment zgrep la dernière ligne d'un fichier gz sans queue

Voici mon problème, j'ai un ensemble de grands gz les fichiers journaux, les toutes premières infos sur la ligne est un datetime texte, par exemple: 2014-03-20 05:32:00.

J'ai besoin de vérifier ce que l'ensemble de fichiers journaux détient des données spécifiques.
Pour l'init, je fais simplement un:

           '-query-data-'
zgrep -m 1 '^20140320-04' 20140320-0{3,4}*gz

MAIS COMMENT faire la même chose avec la dernière ligne, sans processus de l'ensemble de fichiers comme le ferait avec zcat (trop lourd):

zcat foo.gz | tail -1

Informations supplémentaires, ces journaux sont créés avec les données de l'enregistrement initial, donc si je veux les journaux de requêtes à 14:00:00 je recherche, également, dans des fichiers créés AVANT 14:00:00, un dossier sera créé à 13:50:00 et fermé à 14:10:00.

En raison de la compression des travaux, il n'est pas possible de lire la fin d'un fichier sans les décompresser avant tout.
est-il un motif sur le programme d'éradication de mach à la fin du fichier, comme il le fait pour la fin de la ligne $
Le problème est que les données compressées est difficile de processus en arrière. Flux des algorithmes de compression comme LZW sont basés sur des algorithmes adaptatifs, et le lecteur devra traiter les données compressées afin d'apprendre les compressions comme il va.
Pouvez-vous augmenter la fréquence sur logrotate (ou quelle que soit la compresse les fichiers journaux) afin d'avoir de plus petits fichiers compressés à la recherche? Cela va réduire la charge de la décompression du fichier, qui est une donnée.
Merci, mais je ne pense pas que c'est une suffisamment bonne réponse. En attendant, je tiens à vous diriger vers ces pages stackoverflow.com/questions/429987/... stackoverflow.com/questions/236414/... lh3.github.io/2014/07/05/random-access-à-zlib-comprimé-fichiers

OriginalL'auteur Rodrigo Gurgel | 2014-03-20