Operador ternário em Bash

ternario_bash-1_abertura

Uma dica rápida de como criar um operador ternário em Bash!

Continuar lendo

Anúncios

Mantendo o valor das variáveis de um laço ‘while’ do Bash

while_bash-1_abertura

O modo mais prático (e também mais seguro) de fazer em Bash uma leitura de uma lista linha por linha de um arquivo ou string é combinar um laço while com o comando read para iterá-la. Porém, se você precisar alterar o conteúdo de alguma variável dentro do laço, esta modificação simplesmente se perde quando ele termina.

E já que eu vez ou outra acabo caindo nesta “armadilha”, resolvi escrever algo a respeito.

Continuar lendo

Usando grupos em expressões regulares

grupos_regex-1_abertura

Na primeira parte da introdução às expressões regulares, falei dos grupos e que eles servem para agrupar valores distintos para uma pesquisa, ou seja, se você quiser pesquisar pelos nomes perl, python ou ruby em uma determinada sequência basta fazer algo como “(perl|python|ruby)” para tentar encontrá-los. Mas acontece que os grupos não servem só para isto.

Com eles é possível não só localizar mas também fazer referência ao que foi encontrado e assim ampliar as funcionalidades de algumas ferramentas. E aqui alguns exemplos bem simples…

Continuar lendo

Bases numéricas em Bash

base_numerica_bash-1_abertura

Algo que só fui me dar conta pois aconteceu de um script em Bash resultar em um erro ao tentar fazer uma simples operação de adição! O motivo? Um simples zero à esquerda do número e que resultou uma certa perda de tempo mas também na “descoberta” que o o Bash sabe tratar outras bases numéricas além da, óbvia, decimal! 🙂

Continuar lendo

Inserção no início do arquivo com ‘sed’

incluir_sed-1_abertura

Bem. para inserir conteúdo no final de um arquivo já existente basta redirecioná-lo utilizando o “>>”, isto é, utilizar comandos como «echo “mensagem” >> arquivo1» ou então «cat arquivo2 >> arquivo1» para realizar a tarefa. Mas como fazer o oposto? Isto é, inserir conteúdo no início sem necessariamente criar um arquivo intermediário no processo? Uma maneira de fazê-lo é utilizando o sed.

Continuar lendo