Tengo un directorio que contiene millones de archivos xml.
Quiero crear varios archivos zip que contengan una cantidad n de archivos xml. Por ejemplo:si n =10000, quiero crear 100 archivos zip, es decir, cada archivo zip tendrá solo 10000 archivos xml.
¿Cuál es la forma más eficiente de crear estos archivos zip? No quiero que este proceso tome más tiempo ya que tengo que repetir esta operación para varias carpetas que tienen millones de archivos xml.
Respuesta aceptada:
Esto puede ser útil:
$ zip all.zip *.xml ## create a big archive.
Encuentra el tamaño total del archivo:
$ ls -lh all.zip
Ahora, divida el archivo grande en archivos pequeños, según lo necesite:
$ split -b 5M all.zip ## creates 5 MB zips
Nota:la extracción de los archivos no funciona, a menos que los vuelva a unir:
cat x* > oldbigzip.