Tengo un gran archivo .gz. Me gustaría dividirlo en 100 archivos gzip más pequeños, que pueden descomprimirse por sí mismos. En otras palabras: no estoy buscando una forma de cortar el archivo .gz en trozos que tendrían que volver a unirse para poder descomprimirlo. Quiero poder descomprimir cada uno de los archivos más pequeños de forma independiente.
¿Se puede hacer sin volver a comprimir todo el archivo?
¿Se puede hacer si el archivo original está comprimido --rsyncable
? ("Se adapta mejor al programa rsync restableciendo periódicamente la estructura interna del flujo de datos comprimido". Parece que estos puntos de restablecimiento podrían ser buenos lugares para dividirse y probablemente anteponer un encabezado).
¿Se puede hacer para cualquiera de los otros formatos comprimidos? Me imagino bzip2
que sería factible, ya que está comprimido en bloques.
gzip --rsyncable
dado que "gunzip no puede notar la diferencia" (si pudieras encontrar un lugar para dividir, podrías decir que hay un lugar para dividir). Puede ser factible con bzip2 debido a su peculiar característica de bloqueo.gzip -d -c bigfile.gz
.bzip2
archivo de hecho. Sería factible congz
oxz
solo comprimiendo cada fragmento de forma independiente, por lo que esto requeriría una recompresión.Respuestas:
La división y unión del archivo grande funciona, pero es imposible descomprimir partes del archivo comprimido, porque la información esencial se distribuye por todo el conjunto de datos. De otra manera; dividir el archivo sin comprimir y comprimir las partes individuales. Ahora puedes descomprimir cada pieza. ¿Pero por qué? Debe fusionar todas las partes descomprimidas antes de seguir procesando.
fuente
gzip
oxz
), puede hacer concatenación y descompresión, o descompresión y concatenación. El orden no importa.