J'ai une tâche récurrente consistant à diviser un ensemble de grands fichiers journaux Apache gzippés en plusieurs parties (disons des blocs de 500 000 lignes). Les fichiers finaux doivent être gzippés à nouveau pour limiter l'utilisation du disque.Séparation des fichiers journaux gzippés sans stocker les partitions non compressées sur le disque
Sur Linux je normalement faire:
zcat biglogfile.gz | split -l500000
Les fichiers fichiers seront nommés Xaa, xab, XAC, etc Je fais:
gzip x*
L'effet de cette méthode est cela comme résultat intermédiaire ces énormes fichiers sont temporairement stockés sur le disque. Est-il possible d'éviter cette utilisation de disque intermédiaire? Puis-je (d'une manière similaire à xargs) diviser la sortie via une commande (comme gzip) et recomprimer la sortie à la volée? Ou est-ce que je regarde dans la mauvaise direction et y a-t-il une bien meilleure façon de faire cela?
Merci.
Je voudrais examiner la mise en œuvre de la fonctionnalité de style fractionné dans un langage de script, où vous pouvez écrire les lignes directement dans des fichiers gzippés. –