Category Archives: Shell

Shell: Extrair os números do CPF formatado

O tr é um comando muito versátil, especialmente útil para apagar caracteres indesejados. Digamos que você peça ao usuário para digitar o número do CPF. Esse número poderá vir das mais diferentes formas, com espaços, hífens, pontos, ponto-e-vírgula e sabe … Continue reading

Posted in Shell | Tagged , , , , , | 2 Comments

Shell: Extrair o último caractere da linha

Com o comando cut é fácil extrair o primeiro, segundo ou qualquer outro caractere da linha. Porém, é preciso saber a posição exata deste caractere para informá-la ao cut. $ echo abcdef | cut -c 1 a $ echo abcdef … Continue reading

Posted in Shell | Tagged , , , , , , | 3 Comments

C: Descobrir se um processo está em execução

No Linux é muito comum um daemon, durante sua execução, criar um arquivo .pid dentro de /var/run. Dentro do arquivo syslogd.pid, por exemplo, contém o PID da instância do syslogd em execução. Usa-se este mecanismo para impedir que duas instâncias … Continue reading

Posted in C, Linux, Shell | Tagged , , , , , | 3 Comments

Shell: Somar uma lista de números

Você tem uma lista de números, um por linha, e precisa somá-los: $ cat numeros.txt 3 5 7 9 11 13 15 Primeiro, coloque todos em uma única linha: $ paste -s numeros.txt 3 5 7 9 11 13 15 … Continue reading

Posted in Shell | Tagged , , , , | 3 Comments

Shell: Obter o IP da interface de rede

(LANG=C; ifconfig eth0|grep “inet addr”|cut -f2 -d:|cut -f1 -d” “) Para pegar o endereço de uma interface diferente basta colocar o nome dessa interface no lugar de eth0. É interessante que o comando seja colocado entre parênteses, para não modificar o … Continue reading

Posted in Linux, Shell | Tagged , , | 7 Comments

Shell: Descobrir seu IP na internet

Algumas vezes uma máquina está conectada à internet de forma indireta, através de um proxy ou mesmo um firewall com múltiplos links de internet. Os comandos seguintes permitem descobrir qual IP a máquina está utilizando na internet. Utilizando o wget: … Continue reading

Posted in Linux, Shell | Tagged , , , , , , , | Comments Off on Shell: Descobrir seu IP na internet

Shell: Calcular a raiz quadrada

Para calcular a raiz quadrada de um número em Shell, use o comando bc. Ele é uma calculadora completa, que entre outras funções úteis, tem a sqrt (de “square root”). Basta mandar o comando pela entrada padrão (STDIN) e o … Continue reading

Posted in Shell | Tagged , , , , | 6 Comments

Shell: Agrupar comandos para log

Palavras-chave: Shell, agrupar, redirecionamento Ao fazer log da execução de um programa ou compor um arquivo de texto que agrupe a saída de vários comandos, é comum ver a seguinte estrutura ser utilizada: comando-1 >> arquivo comando-2 >> arquivo comando-3 … Continue reading

Posted in Shell | 2 Comments

Shell: Redimensionar imagens na linha de comando

Palavras-chave: shell, convert, ImageMagick, redimensionar, resize, thumbnail, imagem, foto O ImageMagick é um conjunto de softwares para manipular vários formatos de imagens. Esta dica aborda como redimensionar imagens. Dentre os programas do ImageMagick está o comando convert, que possui várias … Continue reading

Posted in Shell | 5 Comments

Shell: Conteúdo de variável dentro de outra variável (eval)

Palavras-chave: shell, variável dentro de variável, eval Às vezes precisamos pegar o conteúdo de uma variável cujo nome está contido em outra variável. Será mostrado algumas maneiras de realizar esta tarefa: $ A=XXX $ B=A $ echo $B A $ … Continue reading

Posted in Shell | 1 Comment

Shell: Erro: Argument list too long

Palavras-chave: shell, Argument list too long, /bin/rm, /bin/mv, bash, ksh, sh Sistemas operacionais UNIX normalmente têm um tamanho fixo de memória que pode ser utilizada para variáveis de ambiente e argumentos na chamada de um programa. Este tamanho varia de … Continue reading

Posted in Shell | 2 Comments

Shell: Converter datas de e para Unix timestamp

Palavras-chave: shell, datas, date, awk, unix timestamp, posix time, unix time, unix epoch Maneiras rápidas de converter de Unix timestamp para um formato mais amigável: GNU date date -d ‘1/1/1970 + 1158857787 seconds’ date -d ‘1/1/1970 + 1158857787 seconds’ ‘+%d/%m/%Y … Continue reading

Posted in Shell | 4 Comments

Shell: Use && e || ao invés de if/then/fi

Palavras-chave: shell, condicional, if, operadores, and, or Para condicionais simples, que não precisem do else você pode usar os operadores && (and) e || (or) ao invés da estrutura if/then/fi. if [ $var -ne 1 ]; then echo “Não é … Continue reading

Posted in Shell | 8 Comments