Вы обнаруживаете, что xxx.txt создается, верно?
unzip
и gunzip
имеют разные «философии» в отношении работы со своим архивом. gunzip
избавляется от файла .gz
, а unzip
оставляет свой файл zip
на месте. Так что в вашем случае zip работает как задумано.
Я думаю, лучшее, что вы можете сделать, это
unzip -q xxx.zip && /bin/rm xxx.zip
Это удалит zip-файл только в том случае, если unzip
завершится без ошибок. Параметр -q
делает unzip
тихим, поэтому вы не будете получать сообщения о состоянии, указанные выше.
изменить
как вы и просили when zip file itself is +10 GB in size, then unzip does not succeed
Предполагая, что вы уверены, что на диске достаточно места для сохранения расширенного исходного файла, трудно сказать. Насколько большой расширенный файл? Более 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
и другие детали, чтобы помочь восстановить ожидаемый рабочий процесс.
ИХТХ.
person
shellter
schedule
03.02.2015