.zip 파일을 여러 세그먼트로 나누려면 어떻게합니까? zipfile comment -@ read

모든 명령 줄 유틸리티가 설치되어 있으며 기존 .zip(또는) 새 파일 .zip을 터미널의 (50MB) 세그먼트 로 분할해야합니다 .

즉, 폴더 X = 900메가바이트> 자기 추출 만들기 .zip아카이브> 스플릿 .zip(즉, 50 메가 바이트 세그먼트에 보관 Folder.X.001.zip)

매뉴얼 페이지에 따르면 다음 명령이 있습니다.

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

-h2I 수 :

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


답변

당신은 가지고 existing.zip있지만으로 분할하려는 50M크기의 부품.

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

만들 것이다

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

를 추출하려면, 당신은 함께 파일 및 실행 먼저 수집해야 zip -F new.zip --out existing.zip하거나 zip -s0 new.zip --out existing.zip, 당신의 재현을 existing.zip. 그러면 간단하게 할 수 있습니다 unzip existing.zip.


unzip new.zip작동 할 것으로 예상 되지만 불행히도 구현되지 않았습니다.

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).

그리고 내 테스트에서 제안한대로 부품을 연결하고 (예 : 고양이와 함께 압축 풀기) 내 파일을 모두 추출하지 못했습니다 .


답변

이것이 나를 위해 작동하는 것입니다.

zip -s 50m new.zip big.iso

50MG 부품

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

이것으로 3G 청크 만들기 (FAT32 디스크에 큰 파일을 넣을 때 좋습니다)

zip -s 3g new.zip big.iso

new.zip 파일을 두 번 클릭하면 새로운 Mac OS에서 이러한 파일을 추출합니다.


답변

Unarchiver를 사용하여 결과 multipart ZIP 파일도 추출해야했지만 이상하게도 zip 파일의 원래 경로를 다시 작성했습니다. 예를 들어 원래 여기에 아카이브를 만들었습니다.

/ 볼륨 / 외부 HD / 테스트 폴더 /my-multipart-archive-parts.zip

그리고 아카이브의 모든 부분을 여기에 복사하십시오.

~ / 데스크톱 / 테스트 폴더 /

Unarchiver를 사용하여 파일을 추출하면 다음과 같이 생성되었습니다.

~ / Desktop / Test Folder / Volumes / External HD / Test Folder / my-multipart-archive.zip

매우 이상합니다 …


답변