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: 14.613 ]

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

Backup/Restore de uma cópia fiel de um HD utilizando o DD

Apresentando o Btrfs - Nova geração de sistema de arquivos para GNU/Linux

Criando um álbum de fotos no Linux

Sudo 1.8.12 - Parte II - Como sudo funciona

Calculando máscara de sub-rede e broadcast

Leitura recomendada

Dialog em GTK

Introdução ao Shell Script

Variáveis, if, else e unless em Ruby

Exemplos práticos de comandos com Parted

Mini-tutorial Shell

  
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