@Znik, gzip / gunzip versão 1.6 e superior tem a opção-k .
aleksandr Barakin
Respostas:
220
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:
Obrigado pela resposta. Crescendo com o pkunzip no DOS, acho tão estranho que não há uma opção para manter o arquivo. Especialmente com uma ferramenta como o gzip sendo tão amplamente usada ... apenas estranha.
23409 Sen
4
Para sua informação, na verdade não tenho gzcat. Nem o meu sistema local nem o sistema em que fui transferido. Então, eu tenho que usar gunzip -c
Sen
26
provavelmente é apenas o zcat no seu sistema.
precisa saber é o seguinte
2
Uma opção adicional para manter o arquivo seria realmente agradável. Por exemplo, b (un) zip2 usa sintaxe semelhante e permite simplesmente adicionar -kpara manter o arquivo original.
schnaader 8/09/11
1
Você também pode adicionar o gzcat linha alias = "gunzip -c" para o seu .bashrc
James Kingsbery
55
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:
A propósito, observe que a página de manual mencionada acima lista uma opção -k, o que significa manter os arquivos de entrada. Talvez isso funcione na versão BSD, mas não na minha, então a solução -c parece ser a correta.
31
Uma solução mais simples é usar o gunzip como um filtro como este:
Eu acho que essa é a maneira mais limpa, pois gunzipnunca se sabe qual arquivo está recebendo, tudo o que vê é um fluxo de dados; portanto, não é possível alterar o arquivo original.
Walf
12
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:
-k
.Respostas:
Você está procurando:
O
gzcat
comando é equivalente aogunzip -c
qual simplesmente grava o fluxo de saídastdout
. Isso deixará o arquivo compactado intocado. Então você também pode usar:Observe que em alguns sistemas o gzcat também é conhecido como sendo
zcat
executado assim:fonte
-k
para manter o arquivo original.Você pode usar a
-c
opção gunzip, que grava a saída em stdout e, em seguida, canaliza-a para o arquivo de sua escolha:Mais detalhes na página do manual .
fonte
Uma solução mais simples é usar o gunzip como um filtro como este:
fonte
gunzip
nunca 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:
para que você obtenha o conteúdo real.
fonte
Use a
-c
opção para descompactar o arquivo em stdout. Não tocará no arquivo original.fonte
OU
Comentários:
fonte
O gnu tar pode ler arquivos gzip:
tar -zxsvf myfile.tar.gz
outar -jxzvf myfile.tar.bz2
para arquivos tar bzipados.fonte