46. Índices econômicos no terminal

Ás vezes a gente quer consultar alguma cotação, seja dólar, euro, ouro etc, e então abrimos o navegador e pesquisamos no Google. Por que não no terminal? Comecei a pensar num meio de buscar essas informações num site e imprimi-las na tela. Consegui, usando wget
, sed
, grep
, head
, tail
e outras. Vou compartilhar o que consegui e dar umas dicas de como acrescentar outros índices.
A Mágica

No exemplo acima, eu instalei o meu script shell (a seguir) na pasta ~/.local/bin
, mas exclui a extensão do arquivo (.sh
), para poder digitar apenas indices
em qualquer local, sem ter que digitar a localização do script.
Copie esse script do meu GitHub Gist e faça o mesmo:
O Truque
O truque é mais fácil do que parece. Basicamente usamos o comando wget
para baixar uma página html
que contenha a cotação desejada, mas jogando o resultado numa variável em vez de um arquivo. Depois é só ir fazendo o tratamento com as demais ferramentas: sed
, grep
, head
, tail
e outras.
Por exemplo, o site www.xe.com mostra cotações em tempo real. Felizemente ele não usa muito javascript, a cotação está arquivada na própria página. Se não estivesse, não adiantaria baixar.
$ wget -qO- "https://www.url.com/sua-cotação.html"
Opções usadas: -q, --quiet silencioso (não emite nada) -O, --output-document=ARQUIVO escreve para o ARQUIVO - traço simples é o local stdout, standard output
Ou seja, -qO-
manda "baixar de forma silenciosa, sem escrever nada na tela, e salvar o documento baixado na saída padrão". Isso nos permite salvar a página numa variável para uso posterior, ou usar o pipe "|
" e passar o resultado para um segundo comando, como o grep
ou o sed
, que farão a filtragem do conteúdo.
Nesse ponto, conhecimento básico de expressões regulares (regex, de regular expressions) é fundamental. Aprendi muito com o livro do A. M. Jargas:
JARGAS, Aurélio Marinho. Expressões regulares: uma abordagem divertida. 4 ed. rev. e ampl. São Paulo: Novatec, 2012.
Comentários
Postar um comentário