Ответы:
Вы можете передать -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
бы возвращались на свой собственный вывод; в любом случае, это нельзя сделать на месте.
Вы можете сделать что-то вроде:
gzip -d - < gzippedfilewithnoextention > ungzippedfile
Теперь вы не можете сделать это и распаковать в то же имя файла. После этого вам нужно будет переименовать несжатый файл (то есть вы не сможете разархивировать его таким образом).
gzip
но не gunzip
...
zcat
:)