Comprimir archivos en varios ficheros zip

nullGracias a rm -rf encontré el otro día otro servicio con posibilidad de alojamiento gratuito en Internet llamado ByetHost que me venía muy bien para cierto proyecto que tengo actualmente en desarrollo.

Intentando subir el código a la web encontré como limitación la obligación de subir ficheros comprimidos de un tamaño inferior a los 2 MBs.

Como no servía de nada usar archivos zip multivolumen (un mismo archivo dividido en varios ficheros) opté por buscar una forma sencilla de convertir un fichero .zip en varios independientes.

Por fortuna existe el comando zipsplit que con una simple instrucción me permite dividir los archivos comprimidos en varios

zipsplit -n $((2**21)) /tmp/cms.zip

donde

  1. -n $((2**21)) permite indicar el tamaño de los ficheros generados (en el ejemplo son 2 MBs)
  2. /tmp/cms.zip es el fichero que queremos dividir en otros más pequeños

NOTA-1: en el ejemplo he hecho uso de la instrucción $((..)) para realizar un cálculo que me evite tener que escribir números demasiado grandes (y de paso tener que pensar ;) ). Hubiese bastado poner -n 2000000 pero ni eso son 2MBs (recordar que 1MB es 2^20 = 1048576) ni me apetecía escribir “tanto”.

NOTA-2: Si 1MB = 2^20 entonces 2MBs = 2*2^20 = 2^21

NOTA-3: En bash, la exponenciación es **

7 comentarios hasta ahora

  1. Jose on

    Hola, ya se ha dividido el archivo pero ahora como se junta.??

  2. shakaran on

    Umn vaya, conocía split, pero ahora gracias a ti, también conozco zipsplit

    Muy útil.

    PD: Con man zipsplit no he visto nada al respecto para unir, pero si ponía “Does not yet support large (> 2 GB) or split archives.” Aunque creo que 2 GB (que no GiB) ya es bastante ;)

    Estaría bien saber como unirlos xD

  3. jasvazquez on

    Por desgracia el comando “zipjoin” no existe :D

    De todos modos el objetivo era obtener ficheros zip independientes (que puedan ser utilizados sin tener que existir el resto como ocurre con los “multivolumen”).

    Para ficheros grandes no termino de ver la utilidad (porque normalmente serán películas y esas ya vienen comprimidas) pero siempre podéis optar por el comando split (que tan acertadamente has comentado @shakaran) o bien por programas del estilo de hacha para Linux

  4. Bitacoras.com on

    Información Bitacoras.com…

    Valora en Bitacoras.com: Gracias a rm -rf encontré el otro día otro servicio con posibilidad de alojamiento gratuito en Internet llamado ByetHost que me venía muy bien para cierto proyecto que tengo actualmente en desarrollo. Intentando subir el códi…..

  5. Cristobal on

    Con lo sencillo que es hacerlo con el Gestor de Archivadores extendiendo la opción “Otras Opciones”. ;-)

    • jasvazquez on

      Si que lo sería (donde haya una buena interfaz de usuario que se quite todo por mucho que me guste la línea de comandos)… la pena es que la versión que tengo instalada no me ofrece dicha posibilidad :(

      Por curiosidad, ¿cuál es tu versión de file-roller?

      Salu2

  6. Cristobal on

    La 2.26.1, búscala que sí esta ;-)


Replica