Necesito comprimir 80,000 archivos en múltiples archivos zip. Este es el comando que uso:
zip -s 200M photos_test/*
Sin embargo me sale el siguiente error:
-bash: /usr/bin/zip: Argument list too long
¿Qué puedo hacer para resolver el problema, además de dividir manualmente los archivos de la carpeta?
Gracias
compression
zip
recursive
arguments
aneuryzm
fuente
fuente
-bash: /usr/bin/zip: Argument list too long
puede causar en el caso: 1- por no usar el-r
interruptor, 2- hay demasiados archivos para archivar. Entonces, en el primer caso, la respuesta de @ Mat es verdadera y en el segundo caso, la respuesta de @ IgnacioVazquez-Abrams es verdadera.Respuestas:
Si desea todo el directorio, simplemente puede usar el
-r
interruptor:Eso incluirá todos los subdirectorios de
photos_test
aunque.fuente
El problema parece ser la expansión del "*". Utilice el nombre de la carpeta o ".":
Si desea incluir la carpeta raíz dentro del zip:
Si no desea incluir la carpeta raíz dentro del zip:
fuente
fuente
find . -mindepth 1 -maxdepth -name '*.json' | zip {YOURZIPFILENAME}.zip -@
si no necesita dividir y desea seleccionar archivos por extensión.ls photos_test | zip -s 200M -@ photos
-@
hará que zip lea una lista de archivos de stdin|
tubo voluntad una salida dels
en la entrada dezip
comandoman zip
:fuente