Cómo evaluar expresiones en Linux con expr

Puntos clave

  • El comando expr puede evaluar expresiones y devolver el valor correspondiente. Puede usarlo para realizar cálculos aritméticos, comparaciones y operaciones con cadenas.
  • Con el comando expr, puede buscar patrones específicos en el texto, validar la entrada del usuario e incluso reemplazar texto según patrones definidos.
  • El comando expr también puede manipular cadenas utilizando funciones de cadena como encontrar longitud, comparar cadenas y extraer subcadenas.

¿Quieres hacer algunos cálculos simples en Linux? Simplemente use el comando expr. Este comando puede realizar varias operaciones, como evaluar expresiones, extraer subcadenas, comparar cadenas y más. Usando expr, puedes sumar, restar, multiplicar o dividir dos números y obtener la respuesta como resultado.

→ Índice de contenidos
  • El comando expr.
  • opciones del comando expr
  • Realizar operaciones aritméticas con expr
  • También puedes evitar que el shell interprete caracteres citando correctamente los argumentos y operadores:
  • De esta forma, el comando expr proporciona un método sencillo y eficaz para comparar valores numéricos.
  • El resultado es 11 porque hay nueve caracteres y dos espacios en blanco en la cadena. Si desea encontrar la longitud de una cadena sin espacios en blanco, puede usar otros comandos como tr o awk para eliminarlos primero. Por ejemplo:
  • El resultado es 11 porque ambas cadenas tienen todos los caracteres en común, incluidos los espacios en blanco.
  • Para extraer una subcadena de una cadena determinada, puede usar el comando expr con un operador substr. De esta forma podrás extraer información específica de un texto más grande, como el nombre, la fecha o cualquier código. También puede utilizar este operador para eliminar caracteres o espacios no deseados de una cadena.
  • Ahora procedamos con la ejecución del script ejecutando:
  • El comando expr.

    expr es una herramienta que puede realizar cálculos y manipular cadenas basadas en las expresiones dadas. Con el comando expr puedes realizar diversas operaciones con números enteros y cadenas, como comparar valores o encontrar patrones específicos usando expresiones regulares.

    Puede pasar varias expresiones a expr como argumentos, separadas por espacios. No solo evalúa una expresión sino que también muestra la salida correspondiente en la terminal. El comando expr funciona tanto en el terminal Bash como en los scripts de shell.

    El comando expr es útil cuando se manipulan datos o se realizan cálculos sin salir del terminal. Sin embargo, debe prestar atención a la sintaxis y el orden de las expresiones; de lo contrario, el comando fallará y mostrará un mensaje de error.

    La sintaxis del comando expr es:

     expr expression 

    ... donde la expresión puede ser una combinación de argumentos y operadores. Por ejemplo, la siguiente expresión evalúa la operación entre arg1 y arg2 y muestra el resultado:

     expr arg1 operator arg2 

    Los argumentos pueden ser números o cadenas, según el operador. Los operadores pueden ser aritméticos, relacionales, relativos a cadenas o lógicos. Es el símbolo que especifica la operación a realizar. Por ejemplo, para números enteros, puede utilizar operadores como +, -, *, / y %.

    Para las cadenas, puede utilizar expresiones regulares y juegos de caracteres para hacer coincidir e indexar. También puede utilizar paréntesis para agrupar expresiones y barras invertidas para escapar de caracteres especiales.

    opciones del comando expr

    Si bien expr carece de opciones tradicionales de línea de comandos, ofrece operadores versátiles para aritmética, manipulación de cadenas y comparación. También puedes usar el --ayuda Opción para mostrar la página de ayuda de expr, que explica su sintaxis, características y ejemplos:

     expr  

    Para verificar la versión del comando expr, ejecute:

     expr  

    Terminal de Linux que muestra el número de versión y los detalles del desarrollador del comando expr

    Esta opción muestra el número de versión, el código fuente, la licencia y el autor de expr.

    Realizar operaciones aritméticas con expr

    Para utilizar el comando expr para operaciones aritméticas básicas, escriba el comando expr seguido de un espacio. Luego, escribe la expresión que deseas evaluar. Esta expresión es una combinación de números enteros y operadores como +, -, * y /. Asegúrese de separar cada token (entero u operador) en la expresión con un espacio.

    Por ejemplo, si quieres calcular la suma de 15 y 12 usando expr, puedes escribir:

     expr 15 + 12 

    Terminal de Linux que muestra cómo agregar dos variables usando el comando expr

    De manera similar, puedes usar el comando expr para realizar otras operaciones aritméticas, como resta, multiplicación y división. Evaluemos algunas expresiones usando el comando expr:

     expr 15 - 12
    expr 15 * 5
    expr 10 / 2

    Terminal de Linux que muestra varias operaciones aritméticas con el comando expr

    Tienes que escapar de la multiplicación.

    operador con una barra invertida () para evitar la expansión del shell.  De lo contrario, el shell intentará hacer coincidir el operador.

    con los nombres de los archivos en el directorio actual y páselos al comando expr, lo que provocará un error.

     expr "5" "*" "3" 

    Terminal Linux con error de sintaxis

    También puedes evitar que el shell interprete caracteres citando correctamente los argumentos y operadores:

    Terminal Linux con variables de operador y comillas entre comillas dobles

    Comparando dos expresiones con expr

     expr 40 = 50 

    Per confrontare due espressioni utilizzando il comando expr, è possibile utilizzare operatori logici come =, <, > y !=.  Si ve el resultado del comando uno, la condición es verdadera; de lo contrario, es falsa y el valor de retorno es cero.

    Por ejemplo, para comprobar si el primer argumento es igual al segundo argumento, utilizamos el operador =:

     expr 40 < 50 

    Terminal de Linux que muestra la verificación de la igualdad de dos números usando el comando expr

    Ahora verifiquemos si el primer argumento es más pequeño que el otro argumento. Para ello utilizamos el operador <:

     expr 45 != 55 

    Terminal de Linux que muestra comandos para controlar la variable más pequeña usando el comando expr con el operador menor que

    También puedes comprobar si los valores no son iguales. Para hacer esto, simplemente use el operador != entre los valores de los dos argumentos:

    Terminal de Linux que muestra la comparación de dos valores usando el comando expr con un operador distinto de

    Aquí, la salida 1 indica que 45 no es igual a 55.

    De esta forma, el comando expr proporciona un método sencillo y eficaz para comparar valores numéricos.

    como la multiplicacion

    operador, incluso operadores <, > y != debe ir precedido de una barra invertida (). De lo contrario, el shell puede interpretarlos como caracteres especiales.

     expr length 'How To Geek' 

    Encontrar la longitud de una cuerda con expr

    Para encontrar la longitud de una cadena usando el comando expr, puede usar el método de longitud. Este operador generará la cantidad de caracteres presentes en la cadena dada.

     expr length "$(echo 'How To Geek' | tr -d ' ')" 

    Por ejemplo, para encontrar la longitud de la cuerda.

    Terminal de Linux que muestra la longitud usando el comando expr con operador de longitud

    El resultado es 11 porque hay nueve caracteres y dos espacios en blanco en la cadena. Si desea encontrar la longitud de una cadena sin espacios en blanco, puede usar otros comandos como tr o awk para eliminarlos primero. Por ejemplo:

    Terminal de Linux que muestra la longitud de la cadena sin incluir espacios en blanco

    El resultado será nueve porque el comando tr elimina todos los espacios en la cadena antes de pasarla al comando expr length.

     expr string1 : string2 

    Emparejar dos cadenas con expr

    Una de las operaciones que ofrece expr es la comparación de dos cadenas. Para esto, use el operador de dos puntos (:) con el comando expr. Este operador devuelve el número de caracteres que coinciden con el comienzo de ambas cadenas.

     expr 'HowToGeek' : 'HowTo' 

    La sintaxis para utilizar este operador es:

    Esto compara las dos cadenas y devuelve el número de caracteres coincidentes desde el inicio de la cadena.

     expr 'How To Geek' : 'How To Geek' 

    Por ejemplo, el siguiente comando devolverá cinco, ya que ambas cadenas tienen los primeros cinco caracteres en común:

    Terminal de Linux que muestra la coincidencia de dos cadenas diferentes usando el comando expr

    Consideremos otro ejemplo, donde dos cadenas dadas son idénticas:

     expr 'How To Geek' : 'Linux' 

    Terminal de Linux que muestra la coincidencia de dos cadenas iguales usando el comando expr

    El resultado es 11 porque ambas cadenas tienen todos los caracteres en común, incluidos los espacios en blanco.

    Si no hay ningún carácter coincidente, la salida será cero:

    La terminal de Linux muestra cómo hacer coincidir varias variables de cadena usando el comando expr

     a=20
    a=`expr $a + 1`
    echo $a

    Incrementar y disminuir una variable con expr

    El comando expr también puede evaluar una expresión que incrementa y disminuye el valor de una variable. Además, puede asignar el resultado a una nueva variable.

     a=20
    a=`expr $a - 1`
    echo $a

    Considere el siguiente ejemplo, donde hemos definido una variable

    La terminal de Linux muestra el uso del comando expr para incrementar el valor de la variable en 1

    De manera similar, para disminuir el valor de la variable, use la misma sintaxis pero reemplace el signo de suma con el signo de resta:

     a=HowToGeek
    b=`expr substr $a 2 5`
    echo $b

    La terminal de Linux muestra el uso del comando expr para disminuir el valor de la variable en 1

    Para extraer una subcadena de una cadena determinada, puede usar el comando expr con un operador substr. De esta forma podrás extraer información específica de un texto más grande, como el nombre, la fecha o cualquier código. También puede utilizar este operador para eliminar caracteres o espacios no deseados de una cadena.

    Considere los siguientes comandos de ejemplo, donde se inicializa una nueva cadena. A continuación, usando el comando expr, obtendremos del segundo al quinto carácter de la cadena "HowToGeek":

    La terminal de Linux muestra el uso del comando expr con la opción substr para extraer una subcadena

     echo "Enter two numbers" 
    read a
    read b
    sum=`expr $a + $b`
    echo "Sum of two numbers is= $sum"

    Realizar operaciones expr usando un script de shell

    Para automatizar el manejo de expresiones usando el comando expr, puede crear un script de shell personalizado. Los scripts de Shell son herramientas multipropósito que pueden ayudarlo a hacer más con menos. Con los scripts de shell puedes automatizar tareas repetitivas, manipular datos y realizar cálculos complejos.

    Por ejemplo, puede crear una secuencia de comandos para sumar dos números usando el comando expr. Primero, debe crear un archivo con una extensión ".sh", como "my_script.sh". Esto le dice al shell que es un archivo de script. A continuación, debe escribir un código que pueda tomar dos números como entrada y devolver su suma. Aquí hay un script de ejemplo que puede hacer esto:

     chmod +x my_script.sh 

    Archivo de script Bash que contiene el script para sumar dos números

     ./my_script.sh 

    Este script utiliza el comando expr para evaluar operaciones aritméticas en variables.

    A continuación, para que este script sea ejecutable, ejecute el comando chmod:

    Ahora procedamos con la ejecución del script ejecutando:

    Terminal de Linux que muestra la ejecución del archivo de script bash y muestra el resultado

    Se le pedirá que ingrese dos números. Después de ingresar los números, verá que el script mostrará la suma de ambos números en la pantalla. También puede modificar el script para realizar otras operaciones o tareas según sus necesidades.

    Pruebe algunos comandos alternativos de Linux Este artículo se centra principalmente en el comando expr, pero también puede probar otros comandos para diversas operaciones. Estos comandos incluyen declarar, dejar y bc. Todas estas herramientas de línea de comandos pueden realizar operaciones matemáticas desde simples hasta complejas en valores definidos. El comando de declaración puede crear y modificar variables y sus atributos. De manera similar, el comando let evalúa expresiones aritméticas en variables del shell. Finalmente, bc es una calculadora de línea de comandos que admite aritmética de precisión arbitraria y varias funciones matemáticas. También puede analizar un lenguaje de secuencias de comandos que admita bucles, declaraciones condicionales y variables.

    Subir Change privacy settings