Fazendo o download e extraindo um .tar para um diretório específico

2

Eu quero baixar um tar de um repositório git e extrair seu conteúdo para outra pasta.

A seguinte linha (dividida para esclarecimento) funciona:

curl -L -0 nt-dotfiles.tar.gz https://api.github.com/repos/nicktomlin/laptop/tarball \
 | tar --strip-components=1 -zx -C ~/Documents/dotfiles

mas dá este erro:

curl: (6) Could not resolve host: nt-dotfiles.tar.gz; nodename nor servname provided, or not known

Estou bem em deixar as coisas como estão (porque ainda funciona), mas estou curioso sobre o erro e me sentiria melhor se fosse embora.

Obrigado!

    
por Nick Tomlin 11.01.2013 / 16:53

2 respostas

7

Sua sintaxe deve ser: curl -L -o nt-dotfiles.tar.gz https://api. ... Você está usando zero em vez de minúscula 'Oh'. Zero forças se curvam para usar http1.0. 'o' fornece um nome de arquivo de saída.

Da página do manual:

-0, --http1.0
          (HTTP)  Forces curl to issue its requests using HTTP 1.0 instead
          of using its internally preferred: HTTP 1.1. 


-o, --output <file>
          Write output to <file> instead of stdout. If you are using {} or
          [] to fetch multiple documents, you can use '#'  followed  by  a
          number  in  the <file> specifier. That variable will be replaced
          with the current string for the URL being fetched. Like in:

            curl http://{one,two}.site.com -o "file_#1.txt"
    
por 11.01.2013 / 17:00
5

Você pode tentar:

$ curl -s http://example.com/file.tgz | tar xvf - -C dest/
    
por 02.04.2015 / 00:25

Tags