Comando expr en Linux con ejemplos

El comando expr en Unix evalúa una expresión dada y muestra su salida correspondiente. Se utiliza para:

  • Operaciones básicas como suma, resta, multiplicación, división y módulo en números enteros.
  • Evaluación de expresiones regulares, operaciones de string como substring, longitud de strings, etc.

Sintaxis:

$expr expression

Opciones:

  • Opción –version: Se utiliza para mostrar la información de la versión.

    Sintaxis:

    $expr --version
    

    Ejemplo:

  • Opción –ayuda: Se utiliza para mostrar el mensaje de ayuda y salir.

    Sintaxis:

    $expr --help
    

    Ejemplo:

A continuación se muestran algunos ejemplos para demostrar el uso del comando «expr»:

1. Usando expr para operaciones aritméticas básicas:

Ejemplo: Adición

$expr 12 + 8 

Ejemplo: Multiplicación

$expr 12 \* 2

Producción

Nota: El operador de multiplicación * se debe escapar cuando se usa en una expresión aritmética con expr .

2. Realizar operaciones en variables dentro de un script de shell

Ejemplo: sumar dos números en un script

echo "Enter two numbers"

read x 

read y

sum=`expr $x + $y`

echo "Sum = $sum"

Producción:

Nota: expr es un programa externo utilizado por Bourne Shell. Utiliza el programa externo expr con la ayuda de backtick. El acento grave (`) en realidad se llama sustitución de comando.

3. Comparar dos expresiones

Ejemplo:

x=10

y=20

# matching numbers with '='
res=`expr $x = $y`
echo $res

# displays 1 when arg1 is less than arg2
res=`expr $x \< $y`
echo $res

# display 1 when arg1 is not equal to arg2
res=`expr $x \!= $y`
echo $res

Producción:

Ejemplo: evaluación de expresiones booleanas

# OR operation
$expr length  "geekss"  "<"  5  "|"  19  -  6  ">"  10

Producción:

# AND operation
$expr length  "geekss"  "<"  5  "&"  19  -  6  ">"  10

Producción:

4. Para operaciones de strings

Ejemplo: encontrar la longitud de una string

x=geeks

len=`expr length $x`

echo $len

Producción:

Ejemplo: encontrar una substring de una string

x=geeks

sub=`expr substr $x 2 3` 
#extract 3 characters starting from index 2

echo $sub

Producción:

Ejemplo: número coincidente de caracteres en dos strings

$ expr geeks : geek

Producción:

Publicación traducida automáticamente

Artículo escrito por tanuja_tj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *