Pular para o conteúdo

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.
Perfil removido removido
Hits: 24.552 Categoria: Shell Script Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar

Parte 4: 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.

   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

Instalando o Gnome-2.20.3 no Slackware 12 usando o Gslapt

Desenvolvendo aplicações GUI simples em Python & Glade (PyGTK) com banco de dados SQLite

Verificando a temperatura do HD no Slackware

Instalando e configurando o Apache, PHP e MySQL no Slackware 10.1

Um tour pelos visualizadores de imagem para Linux

Pipelines (Canalizadores)

Introdução ao Shell Script

Trabalhar com array no Bash

Shell - Funções

Introduzindo um pouco mais a fundo o shell script (revisado)

#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

Entre na sua conta para comentar.