209

Поведение gunzip по умолчанию заключается в удалении файла .gz после его распаковки.

Как я могу предотвратить удаление файла ??

Если эта функциональность не включена, то есть ли альтернативная программа, которая позволяет это?

Я использую Ubuntu 9.04

7 ответов7

210

Ты ищешь:

gzcat x.txt.gz >x.txt

Команда gzcat эквивалентна gunzip -c который просто записывает выходной поток в стандартный stdout . Это оставит сжатый файл без изменений. Так что вы также можете использовать:

gunzip -c x.txt.gz >x.txt

Обратите внимание, что в некоторых системах gzcat также известен как zcat поэтому запустите его следующим образом:

zcat x.txt.gz >x.txt
52

Вы можете использовать опцию -c gunzip, которая записывает вывод в stdout, а затем передает его в файл по вашему выбору:

gunzip -c compressed-file.gz > decompressed-file

Подробнее на странице руководства.

31

Более простое решение - просто использовать gunzip в качестве фильтра:

gunzip < myfile.gz > myfile
12

Если это на самом деле tarball (расширение .tgz или .tar.gz), то вместо перенаправления в файл, как все ответы на данный момент, вы захотите передать его в tar следующим образом:

gunzip -c myfile.tar.gz | tar xvf -

так что вы получите фактическое содержание.

5

Используйте параметр -c чтобы распаковать файл в стандартный вывод. Это не коснется оригинального файла.

gunzip -c myfile.gz > myfile
4
gzip -dk myfile.gz

ИЛИ ЖЕ

gunzip -k myfile.gz

Комментарии:

   -k --keep    Keep (don't delete) input files during compression or decompression.
2

Gnu tar может читать файлы gzip: tar -zxsvf myfile.tar.gz или tar -jxzvf myfile.tar.bz2 для bzip-файлов tar.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .