O comportamento padrão do gunzip é excluir o arquivo .gz após a descompactação.
Como evito que ele exclua o arquivo?
Se essa funcionalidade não estiver incluída, existe um programa alternativo que permita isso?
Estou usando o Ubuntu 9.04
-k .
O comportamento padrão do gunzip é excluir o arquivo .gz após a descompactação.
Como evito que ele exclua o arquivo?
Se essa funcionalidade não estiver incluída, existe um programa alternativo que permita isso?
Estou usando o Ubuntu 9.04
-k .
Respostas:
Você está procurando:
gzcat x.txt.gz >x.txt
O gzcatcomando é equivalente ao gunzip -cqual simplesmente grava o fluxo de saída stdout. Isso deixará o arquivo compactado intocado. Então você também pode usar:
gunzip -c x.txt.gz >x.txt
Observe que em alguns sistemas o gzcat também é conhecido como sendo zcatexecutado assim:
zcat x.txt.gz >x.txt
-kpara manter o arquivo original.
Você pode usar a -copção gunzip, que grava a saída em stdout e, em seguida, canaliza-a para o arquivo de sua escolha:
gunzip -c compressed-file.gz > decompressed-file
Uma solução mais simples é usar o gunzip como um filtro como este:
gunzip < myfile.gz > myfile
gunzipnunca se sabe qual arquivo está recebendo, tudo o que vê é um fluxo de dados; portanto, não é possível alterar o arquivo original.
Se na verdade é um tarball (extensão .tgz ou .tar.gz), em vez de redirecionar para o arquivo como todas as respostas até agora, convém canalizá-lo para o tar, da seguinte maneira:
gunzip -c myfile.tar.gz | tar xvf -
para que você obtenha o conteúdo real.
O gnu tar pode ler arquivos gzip: tar -zxsvf myfile.tar.gzou tar -jxzvf myfile.tar.bz2para arquivos tar bzipados.