Processamento de Dados no Shell
Susan Sun
Data Person
curl:
Verificar a instalação do curl:
man curl
Se o curl não estiver instalado, você verá:
curl command not found.
Para instruções completas, veja https://curl.haxx.se/download.html.
Se o curl estiver instalado, seu console ficará assim:

Pressione Enter para rolar.

Pressione q para sair.
Sintaxe básica do curl:
curl [option flags] [URL]
URL é obrigatório.
curl também suporta HTTP, HTTPS, FTP e SFTP.
Para ver a lista completa de opções:
curl --help
Exemplo:
Um único arquivo está em:
https://websitename.com/datafilename.txt
Use a flag opcional -O para salvar o arquivo com o nome original:
curl -O https://websitename.com/datafilename.txt
Para renomear, use -o (minúsculo) + novo nome:
curl -o renameddatafilename.txt https://websitename.com/datafilename.txt
Muitas vezes, um servidor hospeda vários arquivos de dados com nomes parecidos:
https://websitename.com/datafilename001.txt
https://websitename.com/datafilename002.txt
...
https://websitename.com/datafilename100.txt
Usando curingas (*)
Baixe todo arquivo em https://websitename.com/ que começa com datafilename e termina em .txt:
curl -O https://websitename.com/datafilename*.txt
Continuando o exemplo anterior:
https://websitename.com/datafilename001.txt
https://websitename.com/datafilename002.txt
...
https://websitename.com/datafilename100.txt
Usando Globbing Parser
O comando abaixo baixa todos os arquivos sequencialmente de datafilename001.txt até datafilename100.txt.
curl -O https://websitename.com/datafilename[001-100].txt
Continuando o exemplo anterior:
https://websitename.com/datafilename001.txt
https://websitename.com/datafilename002.txt
...
https://websitename.com/datafilename100.txt
Usando Globbing Parser
Percorra os arquivos e baixe a cada N arquivos (ex.: datafilename010.txt, datafilename020.txt, ... datafilename100.txt)
curl -O https://websitename.com/datafilename[001-100:10].txt
curl tem duas flags bem úteis em caso de timeouts durante o download:
-L Redireciona a URL HTTP se ocorrer um erro 300.
-C Retoma uma transferência anterior se expirar antes de concluir.
Juntando tudo:
curl -L -O -C https://websitename.com/datafilename[001-100].txt
-L -C -O funciona)Processamento de Dados no Shell