Как вы архивируете файл и сохраняете файл.gz?

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

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

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

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

7 ответов

Решение

Ты ищешь:

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

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

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

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

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

gunzip < myfile.gz > myfile
gzip -dk myfile.gz

ИЛИ ЖЕ

gunzip -k myfile.gz

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

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

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

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

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

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

gunzip -c myfile.gz > myfile

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

Другие вопросы по тегам