วิธีคลายซิปไฟล์ที่แยกใน OS X


40

ฉันจะแตกไฟล์ zip ที่คลายซิปออกได้อย่างไร

ในเทอร์มินัลฉันเขียน: unzip filename.zipและมันไม่ได้ทำการแตกไฟล์นี้

เทอร์มินัลเขียนว่า:

$ unzip filename.zip
Archive:  filename.zip
warning [filename.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).
file #1:  bad zipfile offset (local header sig):  4
file #2:  bad zipfile offset (local header sig):  98
file #3:  bad zipfile offset (local header sig):  471
file #4:  bad zipfile offset (local header sig):  6635222

ดับเบิลคลิกที่ไฟล์นี้เพื่อสร้าง filename.zip.cpgz

ฉันควรทำอย่างไร


1
ดังนั้นมีส่วนอื่น ๆ ของไฟล์นี้หรือคุณมีส่วนนี้เท่านั้น หากคุณมีเพียงชิ้นเดียวคุณพยายามรับเนื้อหาของส่วนนี้เท่านั้นหรือไม่
slhck

คุณเคยลองใช้เครื่องมือการบีบอัดอื่น ๆ หรือไม่? ฉันจะเรียกใช้การบีบอัดและ gunzip ในไฟล์และดูว่ามีการประมวลผลกับหนึ่งในนั้น
Wilersh

ไม่มีปัญหาในการคลายซิปไฟล์เก็บถาวรหลายไฟล์โดยใช้ unarchiver.app แต่ฉันกำลังมองหาคำสั่งเทอร์มินัลเพื่อทำสิ่งนี้โดยไม่ต้องใช้แอปใด ๆ
กริช

ก่อนอื่นฉันจะส่งไปที่กล่อง Windows และลอง 7Zip หากไม่ได้ผลฉันจะลองหาไฟล์ zip ที่เหลือและต่อกันเข้าด้วยกัน
Daniel R Hicks

คำตอบ:


51

นี่เป็นวิธีแก้ปัญหาที่ตรงไปตรงมาและใช้งานได้กับฉันใน OS X (มาจากที่นี่ )

1. ในการสร้างไฟล์เก็บถาวรแยก zip (ชุดไฟล์ชื่อ zip, z01, z02 ... ) ให้เรียกใช้คำสั่งต่อไปนี้ใน Terminal:

zip -s 100m -x "*.DS_Store" -r split-foo.zip foo/

2. หากต้องการแยกไฟล์เก็บถาวรแยก zip (ชุดไฟล์ชื่อ zip, z01, z02 ... ) ให้เรียกใช้คำสั่งต่อไปนี้ใน Terminal:

ก่อนอื่นรวมการแยกไฟล์เก็บถาวรเป็นไฟล์เก็บถาวรเดียว:

zip -s 0 split-foo.zip --out unsplit-foo.zip

แตกไฟล์เก็บถาวรเดี่ยวโดยใช้ unzip:

unzip unsplit-foo.zip

22
หากคุณมีไบนารีแยกเช่น file.zip.001, file.zip.002 ... คุณอาจต้องรวมไฟล์เช่นโดยใช้catคำสั่ง:cat file.zip.* > single.zip
Karl Adler

@abimelex ความคิดเห็นของคุณช่วยแก้ไขสถานการณ์ที่แน่นอนของฉัน!
Daniel Apt

คุณคือผู้ชาย @abimelex !!!!! - ฉันต้องใช้p7zipเพื่อแยกพวกเขาเนื่องจากข้อผิดพลาดนี้:need PK compat. v5.1 (can do v4.5)
ไบรอัน

ฉันดีใจที่ได้ช่วย เนื่องจากความคิดเห็นมีการโหวตมากฉันจึงเพิ่มมันเป็นคำตอบด้วย
Karl Adler

10

เพียงแค่catทุกไฟล์ซิปในลำดับที่จะเป็นไฟล์เดียวและการใช้unzipคำสั่งบนว่า

ตัวอย่างเช่น:

cat file.zip.001 > s.zip 
cat file.zip.002 >> s.zip
cat file.zip.003 >> s.zip

unzip s.zip 

7

นอกจากนี้ให้คำตอบนี้ถ้าคุณมีไบนารีแยกเช่นfile.zip.001, file.zip.002... คุณก็อาจจะต้องรวมไฟล์เช่นการใช้คำสั่ง cat:

cat file.zip.* > single.zip

3

เพียงเรียกใช้คำสั่งนี้บน bash prompt เพื่อต่อรหัสไปรษณีย์

for i in `seq 1 5`; do cat file.zip.0$i>>uncut-version.zip; done

ตัวอย่างข้างต้นมี 5 ส่วน

จากนั้นแตกไฟล์โดยใช้วิธีที่คุณชื่นชอบ

unzip uncut-version.zip

2

ทดสอบบน Mac OS 10.8.5

  • ใช้เวอร์ชั่น Stuffit Expander ฟรี
  • เพียงลากไฟล์ล่าสุด (ไฟล์ที่มีนามสกุล. ZIP) ใน Stuffit
  • รอสักครู่เพราะมันดูเหมือนว่า Stuffit จะสร้างไฟล์ขึ้นใหม่ก่อน
  • ดูการคลายซิปไฟล์ทั้งหมดของคุณ

2

ในกรณีของฉันภายใน OS X 10.11.6 ฉันมีไฟล์เก็บถาวรแบบหลายส่วนพร้อมส่วนขยาย

.z01
.z02
... (etc)
.zip

การใช้

zip -s 0 in.zip --out out.zip

ทำให้ฉันซิปเดียว มันไม่ได้แยกด้วย unzip แต่ทำด้วย 7zip ติดตั้งผ่าน MacPorts:

port install p7zip
7za x out.zip

1

ฉันพบปัญหานี้เมื่อพยายามรวบรวมไดเรกทอรีขนาดใหญ่ที่ดาวน์โหลดจาก Google Drive อีกครั้ง

คล้ายกับปัญหานี้หากคุณกำลังจัดการกับชุดไฟล์ซิปที่ไม่รวมนามสกุลไฟล์ที่กำหนดหมายเลขไว้ (foo.z01, foo.z02 ฯลฯ ) และเป็นไฟล์ซิปหลายไฟล์ที่ควรยกเลิกการเก็บถาวรไว้ในไดเรกทอรีเดียวกัน ทำงานต่อไปนี้สำหรับฉัน:

unzip '*.zip' -d /path/to/unzip/destination

0

นี่เป็นทางออกที่ง่ายที่สุดที่ฉันสามารถหาได้:

find ./ -name "*.zip" -exec unzip {} \;

-1

สิ่งที่ใช้ได้ผลกับฉันนั้นง่ายมาก: เปิดไฟล์. z01 ด้วยแอปพลิเคชั่น Mac ฟรี The Unarchiver (หาได้จาก Mac App Store) มันจัดการการสกัดอย่างดี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.