output de covid-ranking.sh

Como criar um gráfico de barras no terminal listando os países com mais ocorrências de morte pelo Coronavirus

Recentemente descobri uma ferramenta bem bacaninha que serve para gerar simples e belos gráficos de barra diretamente no terminal. A ferramenta se chama termgraph e seu repositório no github é https://github.com/mkaz/termgraph. E aproveitando a enorme oferta de dados disponível na web sobre a epidemia do Coronavírus, achei que esse seria um bom caso de uso para aprendermos a usar a ferramenta. Vamos obter uma lista com as 10 nações com maior número de mortes por COVID-19 e gerar um gráfico de barras mostrando esse ranking....

março 27, 2020 · 8 minutos · meleu
output de covid.sh

Consulte os números de casos e mortes causadas pelo Coronavirus diretamente do terminal

O mundo está em pânico! O tal do Coronavirus está se alastrando rapidamente pelo mundo. Mesmo que exista uma turma tentando minimizar o alarde e nos convencer que não tem necessidade de tanto pânico, dizendo que existem/existiram outras doenças matando muito mais… O melhor é se prevenir! Uma das recomendações que estão sendo dadas é para que as pessoas não saiam de casa. E já que vamos ficar em casa (stay at /home), que tal um pouco de nerdeza para distrair?...

março 17, 2020 · 8 minutos · meleu
função shortener()

Como gerar uma URL curta no bitly direto da linha de comando

Um conhecido serviço de “encurtamento de URL” que existe na web é o https://bitly.com. Neste site podemos criar versões mais curtas para URLs grandes. Se você já se deparou com links do tipo bit.ly/AlgumaCoisa, sabe do que estou falando, certo? Neste artigo vamos usar a API do bitly.com através do curl e assim criar o nosso próprio “URL shortener” para usar direto da linha de comando. Se você não conhece o curl, trata-se de um comando bastante poderoso e útil, que serve para transferir dados de/para servidores usando diversos protocolos (HTTP, HTTPS, FTP, TELNET, e muitos outros)....

fevereiro 15, 2020 · 6 minutos · meleu
função camelCase()

Como converter de maiúsculas para minúsculas (e vice-versa) com bash

Desde a versão 4.0 do bash (lançada em 2009) nós temos disponível alguns operadores para lidar com case conversion. Nos exemplos a seguir imagine que var contém uma string: ${var,,}: conteúdo de var todo em minúsculas ${var^^}: conteúdo de var todo em maiúsculas ${var,}: primeira letra de var minúscula ${var^}: primeira letra de var maiúscula ${var~~}: inverte de maiúsculo para minúsculo, ou vice-versa, todo o conteúdo de var ${var~}: inverte de maiúsculo para minúsculo, ou vice-versa, a primeira letra de var Funções Para Case Conversion De posse desse conhecimento, vamos fazer nossas versões bash de toLower() e toUpper() e, por que não?...

janeiro 25, 2020 · 3 minutos · meleu
loop while para percorrer o arquivo linha a linha

Como ler o conteúdo de um arquivo linha por linha em shell script

Uma das coisas que você certamente vai encarar um dia como um programador de shell scripts é a necessidade de percorrer um arquivo inteiro lendo cada linha e fazer algo com este conteúdo. Veremos neste artigo como fazer isso de maneira segura, robusta e evitando as possíveis armadilhas que podem aparecer no caminho. Pra adiantar seu lado, vou logo de cara lhe dar a solução que eu considero mais robusta. Em seguida explica cada detalhe dessa estrutura....

janeiro 21, 2020 · 9 minutos · meleu
screenshot de explainshell.com

explainshell: obtendo uma explicação rápida de uma linha de comando e cada um dos seus argumentos

Recentemente conheci mais um site que certamente é muito útil para iniciantes e até mesmo para usuários de linha de comando já iniciados: https://explainshell.com/ conheça o https://explainshell.com Na página inicial deste site tem um campo de texto onde você pode digitar uma linha de comando inteira (incluindo até mesmo | pipes e << redirecionamentos >) e obter uma explicação do(s) comando(s) e de cada um dos argumentos utilizados. Por exemplo, clique neste link para ver a explicação de find / -type d -name deleteme 2>/dev/null....

janeiro 14, 2020 · 4 minutos · meleu
xdg-open

Como abrir qualquer arquivo no programa correto a partir da linha de comando

Um recurso que facilita muito a vida do usuário quando usando um gerenciador de arquivos no ambiente gráfico é o fato de poder dar um duplo clique no ícone e o sistema já saber qual programa utilizar para abrí-lo. Conhecendo o xdg-open Quando estamos utilizando o terminal dentro de um ambiente gráfico podemos ter uma funcionalidade similar usando o comando xdg-open em sistemas Linux. Equivalentes ao comando xdg-open em outros ambientes:...

janeiro 7, 2020 · 3 minutos · meleu
output de urlencode e urldecode

Como fazer URL encode/decode com shell script

Quando estamos trabalhando com URLs e/ou APIs REST, precisamos com frequência converter uma string para um formato válido de URL, conhecido como URL encoded. Se estivermos trabalhando com o curl é tranquilo, já temos a nossa disposição a opção --data-urlencode. Mas quando não vamos usar o curl, podemos implementar nossa própria solução usando bash puro. urlencode() Eis o código: #!/usr/bin/env bash # # urlencode - codificando sua string para usar em URLs urlencode() { local LC_ALL=C local string="$*" local length="${#string}" local char for (( i = 0; i < length; i++ )); do char="${string:i:1}" if [[ "$char" == [a-zA-Z0-9....

janeiro 5, 2020 · 5 minutos · meleu
code snippet

Como checar se um array contém um determinado elemento

Quando estamos trabalhando com arrays em shell scripts é comum termos situações onde queremos saber se um determinado elemento está presente no array. O bash não tem um recurso específico para isso, portanto temos que arrumar um outro jeito. Neste artigo estudaremos três maneiras de alcançar esse objetivo. Método 1: infalível, porém “custoso” A maneira que logo vem a mente é percorrer todo o array através de um loop e checar se o elemento está presente lá....

janeiro 3, 2020 · 7 minutos · meleu