Comment diviser un fichier .zip en plusieurs segments?

J'ai installé tous les utilitaires de ligne de commande et je dois diviser un .zip (ou) nouveau (s) dans des segments .zip (50 Mo) existants dans Terminal.

C'est-à-dire Folder X = 900MB> Créer une archive .zip auto-extractible> Diffuser l'archive .zip dans 50 Mo de segments ( Folder.X.001.zip . Folder.X.001.zip . Folder.X.001.zip )

Selon la page man, voici les commandes:

 Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license. Zip 3.0 (July 5th 2008). Usage: zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list] The default action is to add or replace zipfile entries from list, which can include the special name - to compress standard input. If zipfile and list are omitted, zip compresses stdin to stdout. -f freshen: only changed files -u update: only changed or new files -d delete entries in zipfile -m move into zipfile (delete OS files) -r recurse into directories -j junk (don't record) directory names -0 store only -l convert LF to CR LF (-ll CR LF to LF) -1 compress faster -9 compress better -q quiet operation -v verbose operation/print version info -c add one-line comments -z add zipfile comment -@ read names from stdin -o make zipfile as old as latest entry -x exclude the following names -i include only the following names -F fix zipfile (-FF try harder) -D do not add directory entries -A adjust self-extracting exe -J junk zipfile prefix (unzipsfx) -T test zipfile integrity -X eXclude eXtra file attributes -y store symbolic links as the link instead of the referenced file -e encrypt -n don't compress these suffixes -h2 show more help 

Avec -h2 Je reçois:

 Splits (archives created as a set of split files): -s ssize create split archive with splits of size ssize, where ssize nm n number and m multiplier (kmgt, default m), 100k -> 100 kB -sp pause after each split closed to allow changing disks WARNING: Archives created with -sp use data descriptors and should work with most unzips but may not work with some -sb ring bell when pause -sv be verbose about creating splits Split archives CANNOT be updated, but see --out and Copy Mode below 

…..

 Using --out (output to new archive): --out oa output to new archive oa Instead of updating input archive, create new output archive oa. Result is same as without --out but in new archive. Input archive unchanged. WARNING: --out ALWAYS overwrites any existing output file For example, to create new_archive like old_archive but add newfile1 and newfile2: zip old_archive newfile1 newfile2 --out new_archive Cannot update split archive, so use --out to out new archive: zip in_split_archive newfile1 newfile2 --out out_split_archive If input is split, output will default to same split size Use -s=0 or -s- to turn off splitting to convert split to single file: zip in_split_archive -s 0 --out out_single_file_archive WARNING: If overwriting old split archive but need less splits, old splits not overwritten are not needed but remain 

Vous avez existing.zip mais souhaitez diviser en 50M .

 zip existing.zip --out new.zip -s 50m 

créera

 new.zip new.z01 new.z02 new.z03 .... 

Pour les extraire, vous devez d'abord collecter les fichiers ensemble et exécuter zip -F new.zip --out existing.zip ou zip -s0 new.zip --out existing.zip , pour recréer votre existing.zip . Ensuite, vous pouvez simplement unzip existing.zip .


Vous vous attendez à unzip new.zip fonctionnerait, mais malheureusement il n'est pas implémenté

 warning [new.zip]: zipfile claims to be last disk of a multi-part archive; attempting to process anyway, assuming all parts have been concatenated together in order. Expect "errors" and warnings...true multi-part support doesn't exist yet (coming soon). 

Et dans mes tests, la concaténation des pièces tel qu'il le suggère, c'est-à-dire avec cat et l'exécution de décompression, n'a pas réussi à extraire tous mes fichiers .