expr - Definição e uso do comando

Neste artigo será apresentado o comando expr. Este comando é utilizado para cálculos feitos em linha de comando em Shell Scripts. Funciona com expressões numéricas, expressões lógicas ou expressões regulares e Strings.

[ Hits: 12.815 ]

Por: Perfil removido em 29/06/2015


Resumo e revisão



1. Expressões numéricas (assumindo que $a e $b são números inteiros, senão haverá erro):

expr $a \+ $b
Realiza a soma de $a com $b.

expr $a \- $b
Realiza a subtração de $a com $b.

expr $a \* $b
Realiza a multiplicação de $a com $b.

expr $a \/ $b
Realiza a divisão inteira de $a com $b.

expr $a \/ $b
Calcula o resto da divisão de $a com $b.

expr \-$a
Inverte o sinal do valor de $a.

2. Expressões lógicas (lembrando que 0 quer dizer falso e 1 verdadeiro, a e b podem ser números ou strings):

expr $a \< $b
Retorna 1, se $a for menor que $b. Caso contrário, zero.

expr $a \<= $b
Retorna 1 se $a for menor ou igual que $b. Caso contrário, zero.

expr $a \> $b
Retorna 1 se $a for maior que $b. Caso contrário, zero.

expr $a \>= $b
Retorna 1 se $a for maior ou igual que $b. Caso contrário, zero.

expr $a \= $b
Retorna 1 se $a for igual a $b. Caso contrário, zero.

expr $a \!\= $b
Retorna 1 se $a for diferente de $b. Caso contrário, zero.

expr $a | $b
Retorna $a se $a não é nem conteúdo nulo nem 0, caso contrário, retorna o valor de $b.

expr $a & $b
Retorna $a se nenhum argumento for nulo ou igual a 0, caso contrário, retorna 0.

3. Expressões regulares e strings:
  • + STRING :: interpreta o que vem depois de + como uma string, mesmo sendo palavra reservada ou um dos operadores.
  • STRING : REGEX :: realiza uma busca em STRING usando por padrão REGEX.
  • match STRING REGEX :: o mesmo que o anterior STRING : REGEX.
  • substr STRING POSIÇÃO TAMANHO :: pega um pedaço de STRING a partir de POSIÇÃO e com TAMANHO como número de caracteres. Não aceita parâmetros negativos.
  • index STRING CHARS :: retorna em qual posição de STRING foi encontrado o caractere CHARS.
  • length STRING :: conta a quantidade de caracteres presentes em STRING.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Cálculos com expressões lógicas
   3. Cálculos com expressões regulares e strings
   4. Resumo e revisão
   5. Saída de erros
Outros artigos deste autor

PuTTY - Release 0.66 - Parte III

Xen - XL.cfg - Sintaxe da Configuração de Domínios - Parte II

Fingerprint-GUI (solução para leitores biométricos) no Ubuntu

Usando classes em conexão e consultas à banco de dados em PHP

Jabberd2 - Completo e sem mistérios

Leitura recomendada

AWK - Introdução

AWK - Manipulação de arquivos de texto

Monitoramento automático de logs e alertas por e-mail - Fácil e explicado

Criando um banner em flash no Linux

Introdução ao Fortran (parte 1)

  
Comentários
[1] Comentário enviado por fabio em 29/06/2015 - 16:29h

Muito bom o artigo! Esse comando é uma mão-na-roda.

[2] Comentário enviado por morvan em 06/07/2015 - 11:06h

Bom dia.
Excelente artigo. Ferramenta muito útil, ainda que pouquíssimo conhecida | utilizada; eu a utilizo, por exemplo, em scripts (claro) e também quando preciso calcular tamanho de partições (normalmente, os CD de Recuperação são muito parcimoniosos de ferramentas, como calculadora, gráfica, no caso, daí recorro ao Console do Sistema).
Morvan, Usuário GNU-Linux #433640. Seja Legal; seja Livre. Use GNU-Linux.

[3] Comentário enviado por removido em 09/07/2015 - 02:50h

Obrigado a todos.

Faltou uma coisa: o limite dos cálculos numéricos é apenas até números de 64 bits, positivos e negativos, com bit identificador de sinal.
--
http://s.glbimg.com/po/tt/f/original/2011/10/20/a97264_w8.jpg

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


Contribuir com comentário