ไม่คาดหวังจุดสิ้นสุดไฟล์ ไฟล์บีบอัด Gzip


16

ฉันกำลังบ้ากับไฟล์ gzip

ฉันสามารถขยายไฟล์ใน Windows โดยใช้ WinRAR แต่มันเป็นไปไม่ได้ในระบบปฏิบัติการ UNIX

ไฟล์น่าจะโอเค ถ้าฉันทำ

file the_name_of_the_file.gz

ฉันเข้าใจ:

the_name_of_the_file.gz: gzip compressed data, from Unix, last modified: Sun Jan 30 14:10:21 2011

แต่ถ้าฉันทำ

gunzip -f the_name_of_the_file.gz

ฉันได้รับ:

gzip: the_name_of_the_file.gz: unexpected end of file

ปัญหาเดียวกันนี้เกิดขึ้นเมื่อฉันพยายามแตกไฟล์โดยใช้เครื่องมือ GUI ใน Ubuntu หรือ MacOSX

ความคิดใด ๆ


เป็นไฟล์ที่แน่นอนหรือไม่ (เช่นคุณมีไว้ในแฟลชไดรฟ์และเปิดขึ้นมาจากระบบปฏิบัติการสองระบบ) หรือคุณดาวน์โหลดแยกต่างหากหรือไม่ หากภายหลังคุณอาจมีการดาวน์โหลดที่ไม่สมบูรณ์ซึ่งไม่มีข้อมูลทั้งหมด (อาคาเสียหาย)
Freesnöw

1
fileคำสั่งจะไม่ตรวจสอบทั้งหมดของไฟล์ มันจะดูที่ส่วนหัวไม่กี่ไบต์เพื่อค้นหาว่าเป็นgzไฟล์ที่เข้ารหัส

มันไม่ได้เสียหายเพราะฉันได้ลองครั้งแรกใน Unix และใหม่กว่าใน Windows
cues7a

คุณสร้างไฟล์ gzip หรือไม่ ถ้าเป็นเช่นนั้นคุณใช้ระบบปฏิบัติการและแอปพลิเคชันใดในการสร้างไฟล์ gzip
อาทิตย์

คำตอบ:


5

วิธีแก้ปัญหาสำหรับการคลายการบีบอัดไฟล์เมื่อgzipล้มเหลวด้วย "จุดสิ้นสุดของไฟล์ที่ไม่คาดคิด" คือการใช้zcat(โดยปกติจะมีให้ในแพ็คเกจ gzip ของการแจกจ่ายของคุณ)

$ zcat file.raw.gz > file.raw


2

คุณบังเอิญถ่ายโอนไฟล์จาก Win * ไปยัง Unix ผ่าน ftp ในโหมด ascii หรือไม่? นั่นอาจอธิบายได้ ไฟล์มีขนาดเท่ากันใน Win * และ Unix หรือไม่


ฉันได้ลองขยายไฟล์ก่อนใน Windows และต่อมาใน Unix
cues7a

1

ฉันสงสัยว่าคุณกำลังทำให้ไฟล์เสียหายเมื่อทำการคัดลอกไปยังเครื่อง * nix

FTP ในโหมดไบนารี


ฉันคิดว่าไฟล์ไม่เสียหายเพราะฉันพยายาม gunzip มันกำปั้นในยูนิกซ์และต่อมาใน Windows
cues7a

1
สิ่งที่คุณพูดไม่สมเหตุสมผล หากคุณไม่จำเป็นต้องสร้างสำเนาของไฟล์ให้พูดเช่นนั้น หากคุณทำเช่นนั้นกระบวนการคัดลอก (FTP) ของคุณอาจไม่ถูกต้อง
Robin Green

ฉันถ่ายโอนไฟล์ผ่าน USB pendrive ฉันลองครั้งแรกใน UNIX และมันไม่ทำงานจากนั้นฉันลองใช้ Windows และใช้งานได้
cues7a

1

ฉันแก้ไขปัญหาโดยใช้ยูทิลิตี้P7zipซึ่งเป็นพอร์ต 7za.exe สำหรับระบบ POSIX


ดังนั้นคุณกำลังบอกว่าไฟล์ที่เก็บถาวรใช้วิธีการบีบอัดที่ไม่ได้รับการยอมรับโดยเครื่องมือ Unix ดั้งเดิมหรือไม่
อาทิตย์

0

จากประสบการณ์สองสามอย่างกับ WinRar การคาดเดาครั้งแรกของฉันคือการแตกไฟล์ที่ไม่สมบูรณ์หรือเสียหายโดยไม่ให้ข้อผิดพลาดในขณะที่ gzip ให้ข้อผิดพลาด

อะไรนะ 7zipทำให้ของไฟล์ของคุณหรือไม่

รุ่นไหนที่ทำ gzip -Vประกาศ ?

สิ่งที่ไม่gzip -t the_name_of_the_file.gzบอกคุณ? (อาจเป็น EOF ที่ไม่คาดคิดแบบเดียวกัน แต่ควรลอง)


gzip -V: gzip 1.3.12 ,, gzip -t the_name_of_the_file -> EOF ที่ไม่คาดคิด
cues7a

0

ฉันมีปัญหาเดียวกันและในกรณีของฉันมันเป็นเพราะความจริงที่ว่าไฟล์เป็นไฟล์ว่างเปล่า (0 ไบต์) gzสร้างขึ้นด้วยtouchคำสั่ง:

$touch file.txt.gz
-rw-r--r-- 1 user user    0 2016-05-24 11:48 file.txt

gzip ไม่สามารถขยายมันได้เมื่อเรียกด้วยคำสั่ง:

$gzip -dv file.txt.gz
gzip: file.txt.gz: unexpected end of file

วิธีที่ถูกต้องในการนำเสนอtxtไฟล์ว่างเปล่านั้นจะสร้างtxtไฟล์ขึ้นเป็นอันดับแรกจากนั้นบีบอัดไฟล์และในที่สุดก็ขยายไฟล์:

$touch file.txt

$gzip -v file.txt
file.txt:         0.0% -- replaced with file.txt.gz

$gzip -dv file.txt.gz
file.txt.gz:      0.0% -- replaced with file.txt

ฉันไม่รู้ว่าสถานการณ์นี้แสดงถึงกรณีของคุณ แต่อาจให้เบาะแสหรือช่วยเหลือคนอื่น

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