我有一个很大的 zip 文件,正在使用终端来解压,如下所示:
unzip /Volumes/9.25.17\ Backup/Documents.zip -d /Users/evan/Desktop/
当我尝试这个时,一切都很正常,直到它尝试提取特定的 mp4 文件。它每次都卡在这个文件上:
inflating: /Users/evan/Desktop/Documents/Creativity/Rotblatt copy.mp4 error: zipfile read error
我不太关心这个文件 - 有什么办法可以告诉终端在解压时忽略它吗?
答案1
这并不是说文件“copy.mp4”损坏了,而是zip文件本身有损坏。
您可以尝试修复 zip 文件:
zip -F /Volumes/9.25.17\ Backup/Documents.zip --out newfile.zip
然后尝试从中提取文件newfile.zip
。如果此方法无效,您可以尝试更全面的修复:
zip -FF /Volumes/9.25.17\ Backup/Documents.zip --out newfile.zip
答案2
我在记录一些数据并直接将其传递给 zip 时因断电而遇到了类似的问题。zip 文件缺少结尾。
zip -F
或者zip -FF
没有解决问题。最后我找到了解决方案,可以保存大部分文件:
jar xvf Document.zip
损坏文件的最后一部分仍然丢失,但对我来说已经足够了。
答案3
使用以下方法查找文件的绝对路径:
unzip -l /Volumes/9.25.17\ Backup/Documents.zip | grep copy.mp4
然后做:
unzip /Volumes/9.25.17\ Backup/Documents.zip -x "/path/to/file/from/step/1/copy.mp4" -d /Users/evan/Desktop/