
¿Hay alguna manera de dividir un archivo gzip grande en archivos gzip más pequeños sin usar zcat
?
zcat large.bed.gz| split --numeric-suffixes - -b 7M --filter='gzip > $FILE.gz' large.part.
Respuesta1
La respuesta a su pregunta (teniendo en cuenta el objetivo de ahorrar tiempo en lugar de sustituir zcat por otra cosa, lo cual se puede hacer) esesto no es posible.
El problema es que la salida comprimida de un archivo gzip tendrá una longitud variable dependiendo de la entrada y esto no es fácil de predecir, por lo que no hay límites obvios sobre los cuales dividir el archivo.
Además, ¿el comando que recomendó es el comando real que está utilizando? Si es así, está roto ya que dividirá el archivo en posiciones arbitrarias, no en límites de línea. Deberías usar algo como "-l XXXXX", donde XXXXX es un número de líneas, en lugar de "-b 7M" que es un tamaño de bloque.
No nos ha proporcionado suficiente información para recomendarle otras soluciones, pero si tiene control sobre cómo se genera el archivo .gz, podrá dividir el archivo en partes a medida que se crea; esto es bastante común y existen Hay muchas estrategias que se pueden implementar dependiendo de cómo se cree.