Como você gunzip um arquivo e manter o arquivo .gz?

209

O comportamento padrão do gunzip é excluir o arquivo .gz depois que ele é descompactado.

Como evito que ele exclua o arquivo ??

Se esta funcionalidade não estiver incluída, existe um programa alternativo que permita isso?

Estou usando o Ubuntu 9.04

    
por Sen 23.09.2009 / 16:45

7 respostas

210

Você está procurando:

gzcat x.txt.gz >x.txt

O comando gzcat é equivalente a gunzip -c , que simplesmente grava o fluxo de saída em stdout . Isso deixará o arquivo compactado intocado. Então você também pode usar:

gunzip -c x.txt.gz >x.txt

Note que em alguns sistemas o gzcat também é conhecido como zcat , então rode como:

zcat x.txt.gz >x.txt
    
por 23.09.2009 / 16:48
52

Você pode usar a opção -c do gunzip que grava a saída para stdout e, em seguida, canalizá-la para o arquivo de sua escolha:

gunzip -c compressed-file.gz > decompressed-file

Mais detalhes sobre o página de manual .

    
por 23.09.2009 / 16:50
31

Uma solução mais simples é simplesmente usar o gunzip como um filtro como este:

gunzip < myfile.gz > myfile
    
por 23.09.2009 / 19:30
12

Se é realmente um tarball (extensão .tgz ou .tar.gz), então, em vez de redirecionar para o arquivo como todas as respostas até o momento, você vai querer canalizá-lo para tar, assim:

gunzip -c myfile.tar.gz | tar xvf -

para que você obtenha o conteúdo real.

    
por 23.09.2009 / 17:22
5

Use a opção -c para descompactar o arquivo para stdout. Não vai tocar no arquivo original.

gunzip -c myfile.gz > myfile
    
por 23.09.2009 / 16:52
3
gzip -dk myfile.gz

OR

gunzip -k myfile.gz

Comentários:

   -k --keep    Keep (don't delete) input files during compression or decompression.
    
por 05.11.2017 / 13:55
2

Gnu tar pode ler arquivos gzip: tar -zxsvf myfile.tar.gz ou tar -jxzvf myfile.tar.bz2 para arquivos tar bzipados.

    
por 31.01.2010 / 17:14

Tags