Gzip распаковать на файл с другим расширением?

Ответы:

9

Вы можете передать -Sвозможность использовать суффикс, отличный от .gz.

gunzip -S .compressed file.compressed

Если вы хотите, чтобы несжатый файл имел другое имя, запустите

gzip -dc <compressed-file >uncompressed-file
gunzip <compressed-file >uncompressed-file

(эти команды эквивалентны).

Обычно распаковка восстанавливает имя и дату исходного файла (когда он был сжат); это не происходит с -c.

Если вы хотите, чтобы сжатый файл и несжатый файл имели одно и то же имя, вы не можете сделать это напрямую, вам нужно либо переименовать сжатый файл, либо переименовать несжатый файл. В частности, gzipудаляет и воссоздает его целевой файл, поэтому, если вам нужно изменить файл на месте, потому что у вас нет разрешения на запись в каталог, вам нужно использовать -cили перенаправить.

cp somefile /tmp
gunzip </tmp/somefile >|somefile

Обратите внимание, что gunzip <somefile >somefileэто не будет работать, потому что gunzipпроцесс увидит файл, обрезанный до 0 байтов, когда он начнет читать. Если бы вы могли вызвать усечение, тоgunzip бы возвращались на свой собственный вывод; в любом случае, это нельзя сделать на месте.

Жиль "ТАК - перестань быть злым"
источник
2

Вы можете сделать что-то вроде:

gzip -d - < gzippedfilewithnoextention > ungzippedfile

Теперь вы не можете сделать это и распаковать в то же имя файла. После этого вам нужно будет переименовать несжатый файл (то есть вы не сможете разархивировать его таким образом).

Мат
источник
1
или просто "gunzip -c gzfile> ungzfile"
Крис Кард
Удивительно, но некоторые установки ОС имеют, gzipно не gunzip...
Мат
1
Существует также zcat:)
галактика