명령 행에서 멀티 파트 압축 풀기


3

도움을 주셔서 감사합니다. OSX 10.8.5의 명령 행에서 멀티 파트 zip 파일을 압축 해제하려고합니다.

사용하여 우편 번호를 만들었습니다 zip -s 800m foo.zip foo.mov

파일 크기 foo.mov는 2.7GB입니다. 그래서 파일이 있습니다 foo.zip, foo.z01, foo.z02, foo.z03.

을 사용하려고 zip -s 0 foo.zip -O foo_unsplit.zip했지만 foo_unsplit.zip은 1.6GB에 불과하며 unzip과 함께 사용할 때 아래 오류가 발생합니다.

error:  invalid compressed data to inflate

나는 또한 사용하려고 cat Heritage.zip Heritage.z01 Heritage.z02 Heritage.z03 > Heritage_unsplit.zip했지만 결과 파일의 압축을 풀면 아래 결과가 나타납니다.

unzip Heritage_unsplit.zip 
Archive:  Heritage_unsplit.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of Heritage_unsplit.zip or
        Heritage_unsplit.zip.zip, and cannot find Heritage_unsplit.zip.ZIP, period.

누구나 명령 줄에서 다중 부분 파일의 압축을 푸는 방법을 알고 있습니다. 내 시도에서 실수를 한 적이 있습니까?


연결이 작동하지 않으면 어딘가에 손상된 파일이있을 수 있습니다. 참조 : superuser.com/questions/15935/…

나는 이것이 zip 아카이브의 2GB 단일 파일 제한이라고 생각합니다.
Kieran

.zip 파일을 여러 세그먼트로 분할하는 방법을 참조하십시오 . . 500MB 분할 zip 세트에서 6GB 폴더를 추출했습니다.
5910

답변:


0

MacOS 버전마다 이것이 다르다고 가정합니다. 현재 High Sierra를 실행 하고 unzip있으며 여전히 다중 부분을 올바르게 지원하지 않습니다.하지만 동일한 트릭을 사용 cat했지만 역순으로 작동했습니다.

cat Heritage.z03 Heritage.z02 Heritage.z01 Heritage.zip > Heritage_unsplit.zip 다음 unzip에 작동했습니다.

아래와 같은 오류가 있지만 파일은 이진 동일합니다.

> unzip big.zip
Archive:  big.zip
warning [big.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).
warning [big.zip]:  1073741824 extra bytes at beginning or within zipfile
  (attempting to process anyway)
file #1:  bad zipfile offset (local header sig):  1073741828
  (attempting to re-compensate)
  inflating: ...
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.