2015-02-03 6 views
1

Есть двойные сжатые файлы с расширением xxx.zip.gzкоманда распакуйте успешно завершается без распаковки файла

На Gunzip - xxx.zip создается файл размером 0.25 GB
На разархивирует после Gunzip - xxx.zip файл расширение не меняет

Вывод разархивирует:

Archive: xxx.zip 
    inflating: xxx.txt 

также

echo $? shows 0 

так что, несмотря на то, что команда zip успешно завершена, и файл остается с расширением zip, любая помощь?

OS - SunOS 5,10

ответ

1

Вы отыскания xxx.txt она создается, верно?

unzip и gunzip имеют разные «философии» в отношении их архива. gunzip избавляется от файла .gz, а unzip оставляет свой zip файл на месте. Таким образом, в вашем случае zip работает как разработанный.

Я думаю, что лучшее, что вы можете сделать, это

unzip -q xxx.zip && /bin/rm xxx.zip 

Это будет только удалить почтовый файл, если unzip выходов без ошибок. Опция -q делает unzip тихой, поэтому вы не получите сообщения о статусе, которые вы указали выше.

редактировать

как вы просили when zip file itself is +10 GB in size, then unzip does not succeed

Предполагая, что вы уверены, имеется достаточно дискового пространства, чтобы сохранить извлеченный файл Orig, то трудно сказать. Насколько велик расширенный файл? Более 2 ГБ? SunOS5, я считаю, имел ограничение на размер файла на 2 ГБ, требуя добавления «большого файла» в ядро ​​и утилиты. У меня больше нет доступа к Sun, поэтому я не могу подтвердить это. Я думаю, вы найдете места для поиска с apropos largefile (при условии, что ваш $MANPATH настроен правильно).

Но основное испытание для сделал unzip работы правильно было бы что-то вроде

if unzip "${file}" ; then 
    echo "clean unzip for ${file}, deleting the archive file" >&2 
    /bin/rm "${file}" 
    else 
    echo "error running unzip for ${file}, archive file remains in place" >&2 
    fi 

(Или я не понимаю ваш случай использования). Не стесняйтесь публиковать еще один вопрос, который показывает ls -l xxx.zip.gz xxx.zip и другие сведения, чтобы помочь восстановить ожидаемый рабочий процесс.

IHTH.

+0

Да, я нашел, что распакованный файл действительно создан без расширения .zip отдельно, которое я просматривал. Однако кажется, что иногда, когда размер zip-файла сам по себе составляет +10 ГБ, распаковка не удалась. Можем ли мы что-то сделать для этого случая? – fortm

+0

Прежде всего, я заметил, что вы показываете OS = Sun5.1. На рынке поставщиков очень разные вещи. Вы расчесались через 'man zip'? Возможно, есть опция, которая автоматически удалит очистку. (Я просмотрел свой Linux перед тем, как написать этот ответ, и я не смог найти автоматическое удаление, может быть, оно есть, но я так не думаю). 2. эксперимент показал, что файл .zip.gz меньше, чем файл gzip -9 (максимальное сжатие).Иными словами, непонятно, почему вы используете 2 формы сжатия. Получается ли это от третьего лица? – shellter

+1

Я думаю, что у Sun5 есть 'b (un) zip2', который, хотя и медленнее, при использовании режима максимального сжатия с' -9', как правило, делает размер файла 1/2 файла 'gzip -9'. Может ли это помочь? – shellter