REGEX direto no Bash

regexbash_abertura.png

Geralmente quando validava uma sequência de caracteres em shell script usando uma expressão regular eu recorria a uma ferramenta externa (egrep, sed etc) para fazê-lo —  algo como neste exemplo de validação de endereços de e-mail utilizando o egrep:

$ echo "usuario@email.com" |\
  egrep "[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" >/dev/null ; echo $?
0
$ echo "usuario%email-123" |\
 egrep "[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" >/dev/null ;  echo $?
1

Ou seja, o retorno do valor 0 para significando verdadeiro e do valor 1 indicando falso.

Continuar lendo

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