我有一个包含许多xml文件的大型tar存档。此存档中的几个xml文件已损坏。如何在不退出程序的情况下提取好的文件?
gz中有一个tar文件
tar zxf myFile.gz
tar: Unexpected EOF in archive
tar: rmtlseek not stopped at a record boundary
tar: Error is not recoverable: exiting now
答案 0 :(得分:1)
从文件名看起来,好像你正在尝试解压缩不是tar存档的东西。通常,tar文件的扩展名为.tar
,如果已经使用gzip压缩,则为.tar.gz
或.tgz
。
您正在运行的命令z
选项tar
尝试首先撤消gzip压缩,然后解压缩生成的存档。但是从.gz
扩展名来看,它看起来好像你有一个gzip压缩文件而不是一个gzipped压缩文件。
最好的办法是检查文件以找出它是什么类型的文件:
file myFile.gz
这会告诉你它是否是gzipped或其他什么。如果是gzip,那么运行
gunzip myFile.gz
这将使myFile
没有延期;然后你可以使用
file myFile
调查它以确定它是否是tar存档或其他东西。
答案 1 :(得分:0)
mv myFile.gz myFile.tar.gz
gunzip myfile.tar.gz
tar xf myFile.tar
答案 2 :(得分:0)
您可以先尝试 bzip2recover 尝试恢复绑定!
bzip2recover file.bzip
例如来自手册: 如果 .gz 文件的一个成员损坏,其他成员仍然可以恢复(如果 文件:损坏的输入。使用zcat恢复一些数据。
usage: zcat file > recover