46. Índices econômicos no terminal

Terminal imprimindo índices econômicos

Á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

Terminal imprimindo índices econômicos
Quer saber como isso é possível? Me acompanha...

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