@Znik, gzip / gunzip версии 1.6 и выше имеет опцию-k .
Александр Баракин
Ответы:
220
Вы ищете:
gzcat x.txt.gz >x.txt
Команда gzcatэквивалентна gunzip -cкоторой просто записывает поток вывода в stdout. Это оставит сжатый файл без изменений. Так что вы также можете использовать:
gunzip -c x.txt.gz >x.txt
Обратите внимание, что в некоторых системах gzcat также известен как zcatтак: запустите его следующим образом:
Спасибо за ответ. Взросление с pkunzip в DOS Я нахожу настолько странным, что нет возможности сохранить файл. Особенно с таким инструментом, как gzip, который так широко используется ... просто странно.
Сен
4
К вашему сведению, у меня на самом деле нет gzcat. Ни моя локальная система, ни система, в которую я был помещен. Итак, я должен использовать gunzip -c
Сен
26
это, вероятно, просто zcat в вашей системе.
user23307
2
Дополнительная опция сохранить файл была бы действительно хороша. Например, b (un) zip2 использует похожий синтаксис и позволяет просто добавить -kсохранить оригинальный файл.
шнаадер
1
Вы также можете добавить строку alias gzcat = "gunzip -c" в свой .bashrc
Джеймс Кингсбери
55
Вы можете использовать -cопцию gunzip, которая записывает вывод в stdout, а затем передает его в файл по вашему выбору:
Кстати, обратите внимание, что на странице руководства, упомянутой выше, есть опция -k, которая означает сохранить входные файлы. Возможно, это работает на версии BSD, но не на моей, поэтому решение -c кажется правильным.
31
Более простое решение - просто использовать gunzip в качестве фильтра:
Я думаю, что это самый чистый способ, так как gunzipникогда не знает, какой файл он получает, он видит только поток данных, поэтому не может изменить исходный файл.
Уолф
12
Если это на самом деле тарбол (расширение .tgz или .tar.gz), то вместо перенаправления в файл, как все ответы на данный момент, вы захотите передать его в tar следующим образом:
-k
.Ответы:
Вы ищете:
Команда
gzcat
эквивалентнаgunzip -c
которой просто записывает поток вывода вstdout
. Это оставит сжатый файл без изменений. Так что вы также можете использовать:Обратите внимание, что в некоторых системах gzcat также известен как
zcat
так: запустите его следующим образом:источник
-k
сохранить оригинальный файл.Вы можете использовать
-c
опцию gunzip, которая записывает вывод в stdout, а затем передает его в файл по вашему выбору:Подробнее на странице руководства .
источник
Более простое решение - просто использовать gunzip в качестве фильтра:
источник
gunzip
никогда не знает, какой файл он получает, он видит только поток данных, поэтому не может изменить исходный файл.Если это на самом деле тарбол (расширение .tgz или .tar.gz), то вместо перенаправления в файл, как все ответы на данный момент, вы захотите передать его в tar следующим образом:
так что вы получите фактическое содержание.
источник
Используйте
-c
опцию, чтобы распаковать файл в стандартный вывод. Это не коснется исходного файла.источник
ИЛИ ЖЕ
Комментарии:
источник
Gnu tar может читать файлы gzip:
tar -zxsvf myfile.tar.gz
илиtar -jxzvf myfile.tar.bz2
файлы bzip tar.источник