Как вы архивируете файл и сохраняете файл.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.