Как использовать gzip или gunzip в конвейере с curl (для двоичных файлов gz)

1811
nickg

Я использую curl для загрузки файла с помощью следующей команды.

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

Я хочу распаковать его в конвейере следующим образом. curl -O url | распакуйте его и сохраните здесь в текущем каталоге

Я использовал следующую команду, однако она не работает. Я получаю "gzip: stdin: not in gzip format"какие-либо идеи, как я могу достичь этого?

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

Я просто хочу добиться чего-то вроде этого:

download somecompressedfile | decompress it. 

или так просто, как это:

ls | grep test.gz | decrompess test.gz 
3

1 ответ на вопрос

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

Пояснение:
- представляет стандартный вывод. Стандартный вывод - это то, что перенаправляется с помощью конвейера |.
От человека локон :

Указание вывода как «-» (одиночная черта) приведет к выводу вывода на стандартный вывод.

Можете ли вы сказать мне, что - делает после -o? Кажется, что это трюк? nickg 6 лет назад 0