JSON em shell script

json-shell_abertura

Não é novidade que diversos programas e serviços* retornam arquivos no formato JSON e que estes podem ser processadas de modo (quase) transparente por diversas linguagens de programação. Mas há alguma maneira de trabalhar com estes arquivos diretamente em shell script? Ou seja, pegar a saída “cuspida”em JSON de alguma ferramenta e interpretá-lo de forma “natural” sem recorrer a sequências de awk, grep, sed etc?

Pesquisando eu descobri que sim. Com a ajuda do jq programa que, conforme descrito na página do projeto, é uma espécie de sed para arquivos JSON. 🙂

(*) Só lembrando que o AWS CLI pode ser configurado para exibir suas saídas em JSON.

Continuar lendo

Introdução ao SQLite3

sqlite3_basico

De acordo com o autor, o SQLite é a implementação um engine de banco de dados SQL transacional, autocontido e que dispensa servidor ou mesmo procedimento de instalação para funcionar. Ele é gratuito, de domínio público e poden podem* ser utilizado para qualquer finalidade. Hoje é o banco de dados mais amplamente usado no mundo, se você tem um dispositivo rodando Android, iOS ou mesmo a finada Asha Platform (da Nokia) você usa o SQLite.

A ideia aqui é passar um básico do uso do uso SQLite e usando-o diretamente pela linha de comando, mas são conceitos válidos para qualquer outra linguagem de programação.

(*) Que feio, erro primário!

Continuar lendo

Faxina no /boot

Acompanhe também a errata!

OldKernelCleaner

Você vai simplesmente confirmando as atualizações automáticas no seu desktop Ubuntu  e um dia se depara com uma lista quase interminável de opções de boot do GRUB. Já que cada atualização do kernel (os pacotes “linux-image-…”) vai deixando a versão anterior por lá. Estes arquivos não são apagados automaticamente, não atrapalham no funcionamento do sistema mas consumem espaço em disco.

Continuar lendo

Pacotes no Cygwin

cygwin_setup

Conhece o Cygwin? Ele permite criar um ambiente UNIX-like dentro de uma instalação de Windows. Ou seja, ele cria uma camada de emulação que provê as chamadas necessárias do padrão POSIX para que programas de UNIX sejam executados sem alterações de dentro do sistema operacional da Microsoft. É muito prático para manter um conjunto uniforme de ferramentas de administração nos servidores ou, daí o motivo que inicialmente me levou a ele, fugir do putty.exe!

Que me perdoem os fãs/usuários do programa mas com ele não dá pra fazer:

$ ssh user1@host1 'df -h' > host1-free.txt

Continuar lendo