Como usar gzip ou gunzip em um pipeline com curl (para arquivos gz binários)

3

Estou usando o curl para fazer o download de um arquivo usando o seguinte comando.

curl -O https://s3.amazonaws.com/dl4j-distribution/GoogleNews-vectors-negative300.bin.gz

Eu quero descompactá-lo em um pipeline da seguinte maneira. curl -O url | descompacte-o e armazene-o aqui no diretório atual

Eu usei o seguinte comando, no entanto, não funciona. Eu recebo "gzip: stdin: not in gzip format" Alguma idéia de como posso conseguir isso?

curl -O https://s3.amazonaws.com/dl4j-distribution/GoogleNews-vectors-negative300.bin.gz | gunzip

Eu simplesmente quero alcançar algo assim:

download somecompressedfile | decompress it.

ou tão simples como isto:

ls | grep test.gz | decrompess test.gz
    
por nickg 27.07.2017 / 17:08

1 resposta

2
curl -o - https://s3.amazonaws.com/dl4j-distribution/GoogleNews-vectors-negative300.bin.gz | gunzip > ./GoogleNews-vectors-negative300.bin

Explicação:
- representa a saída padrão. A saída padrão é redirecionada por canalização com | .
De homem curl :

Specifying the output as '-' (a single dash) will force the output to be done to stdout.

    
por 27.07.2017 / 17:27