El bash de Linux, o la línea de comandos, le permite realizar operaciones aritméticas y booleanas tanto básicas como complejas. Los comandos como expr, jot, bc y factor, etc., lo ayudan a encontrar soluciones matemáticas óptimas para problemas complejos. En este artículo, describiremos estos comandos y presentaremos ejemplos que le servirán de base para pasar a soluciones matemáticas más útiles.
Hemos ejecutado los comandos y procedimientos mencionados en este artículo en un sistema Ubuntu 18.04 LTS.
Estamos usando la línea de comandos de Ubuntu, la Terminal, para realizar todas las operaciones matemáticas. Puede abrir la Terminal a través del tablero del sistema o el atajo Ctrl+Alt+T.
El comando expr
El comando expr o expresión en Linux es el comando más utilizado para realizar cálculos matemáticos. Puede usar este comando para realizar funciones como suma, resta, multiplicación, división, incrementar un valor e incluso comparar dos valores. En esta sección, describiremos la sintaxis para realizar los cálculos mencionados anteriormente y también presentaremos cómo puede usar el comando expr para realizar operaciones matemáticas productivas en la línea de comandos de Ubuntu.
Adición
Puede agregar dos o más números a través del comando expr de la siguiente manera:
$ expr número1 + número2
Ejemplo:
$ expr 100 + 10
Sustracción
Puede realizar la resta de dos o más números a través del comando expr de la siguiente manera:
$ expr número1 – número2
Ejemplo:
$ expr 100 - 10
Multiplicación
Puede realizar la multiplicación de dos o más números a través del comando expr de la siguiente manera:
$ expr numero1 \* numero2
Ejemplo:
$ expr 10 \* 10
Tenga en cuenta que la siguiente es una sintaxis incorrecta para la multiplicación de números en la línea de comando de Linux, ya que la línea de comando usa asteriscos simples como referencia a todos los archivos en el directorio actual.
$ expresión 10 * 10
División
Puede dividir un número del otro a través del comando expr de la siguiente manera:
$ expr número1 / número2
Ejemplo:
$ expr 100 / 10
Incrementar una variable
Puede incrementar una variable en Linux definiéndola primero de la siguiente manera:
$ count_variable=0
Y luego, usando la siguiente expresión, usando el comando expr, para realizar la operación de incremento:
$ count_variable=`expr $count_variable + 1`
Ahora, cuando haga eco del valor de la variable a través del siguiente comando, imprimirá el valor incrementado de la variable definida inicialmente.
$ echo $count_variable
Comparación
A través del comando expr, también puede verificar si un número es mayor que otro número o no.
$ expr número1 \> número2
Ejemplo:
$ expr 20 \> 10
El valor del resultado 1 indica que el primer número es mayor que el segundo. Mientras que el valor del resultado 0 indica que el primer número no es mayor que el segundo.
Ejemplo:
$ expr 10 \> 20
A través del comando expr, también puede ver si dos números son iguales o no usando la siguiente sintaxis:
$ expr número1 =número2
Ejemplos:
$ expr 10 = 10
$ expr 10 = 15
El valor del resultado 1 indica que el primer número es igual al segundo. Mientras que el valor del resultado 0 indica que los dos números no son iguales.
En los ejemplos anteriores, podemos ver a simple vista que los dos números comparados son iguales o no. Entonces, ¿cómo es útil esta operación?
Supongamos que durante un programa queremos saber si la media calculada de unos números es igual a 10 o no. Aquí, podemos usar el mejor uso del comando expr para comparar los resultados de la variable "promedio" con 10 y realizar más operaciones basadas en este resultado.
$ average=10 $ expr $average = 10
Hacer un uso productivo del comando expr
Presentemos un ejemplo donde el comando expr puede ser realmente productivo. En este ejemplo, usaremos el comando expr para calcular cuántos dulces recibe un niño cuando hay 10 niños y 122 dulces. El programa también calculará la cantidad de dulces restantes después de que todos los niños obtengan la misma cantidad de dulces.
$ children=10 $ sweets=122 $ PerChildShare=`expr $sweets / $children` $ RemainingSweets=`expr $sweets - $children \* $PerChildShare` echo $PerChildShare echo $RemainingSweets
El resultado muestra perfectamente que la parte justa de la toma de cada niño es 12, dejando 2 en el bote.
El comando jota
El comando jot de Linux lo ayuda a crear una lista de números basada en los valores que proporciona como el número inicial y la cantidad de valores que desea ver después. En esta sección, describiremos la sintaxis para realizar cálculos a través de jot y también presentaremos cómo puede usar el comando jot para realizar operaciones matemáticas productivas en la línea de comandos de Ubuntu.
Es posible que primero deba instalar Athena-jot para usar el comando jot en su Ubuntu.
Ingrese el siguiente comando como sudo ya que solo una persona autorizada puede agregar/eliminar y configurar software en Ubuntu:
$ sudo apt install athena-jot
Es posible que el sistema le solicite una opción S/n para confirmar que continúa con la instalación. Ingrese Y y luego presione enter para continuar, luego de lo cual el software se instalará en su sistema.
Imprimir números x después del número y
Con el comando jot, puede imprimir una cantidad x de valores después del número y. Use el siguiente comando para hacerlo:
$ jota x y
El siguiente ejemplo le aclarará las cosas:
$ jot 5 1
Nuestro resultado de ejemplo muestra una lista de valores 5(x) después del número 1(y).
Impresión inversa de los números x después del número y hasta el número z
También puede usar el comando jot para revertir la impresión x número de valores después de un número y, terminando en el número z. Utilice la siguiente sintaxis para hacerlo:
$ jota x y z
El siguiente ejemplo le aclarará las cosas:
$ jot 9 10 2
Nuestro ejemplo de salida inversa muestra valores 9(x) antes del número 10(y), hasta que la lista llega al número 2(z).
Hacer un uso productivo del comando jot
Presentemos un ejemplo donde el comando jot puede ser realmente productivo. En este ejemplo, usaremos el comando jot para imprimir 15 (valor de x) días de enero a partir del día 1 (valor de y).
$ for i in `jot 15 1`; do echo January $i; done
Aquí está la salida:
Hemos usado el ciclo for usando la salida del comando jot como el valor de entrada para la variable i.
El comando factor
Como su nombre lo indica, el comando de factor en Linux se usa para calcular el valor de los factores de un número que proporcionamos.
Sintaxis:
número de factor $
Ejemplos:
En los ejemplos anteriores, puede ver cómo el comando factor imprime múltiples factores de un número dado excepto 13, ya que el número 13 no tiene otros factores que sí mismo.
El comando bc
El comando bc es muy útil cuando se realizan operaciones complejas en bash. Este comando también puede hacer comparaciones, manejar booleanos y calcular raíces cuadradas, senos, cosenos y tangentes, etc. Todo lo que necesita hacer es canalizar la expresión matemática al comando bc de la siguiente manera:
$ echo “expresión_matemática” | aC
La salida luego muestra el resultado de la expresión matemática.
Ejemplo:
$ echo "10+10/2-(2*2)" | bc
Calcular Pi
Dado que el comando bc no rehuye la precisión y la cadena que desea ingresar es bastante fácil, puede usarla para calcular el valor de pi con el número deseado de puntos decimales.
En el siguiente ejemplo, estamos imprimiendo el valor de pi especificando un valor de escala para redondear el decimal.
$ echo "scale=2; 4*a(1)" | bc -l
Dado que el valor de la escala es 2, el resultado de pi se escalará a dos puntos decimales.
echo "scale=10; 4*a(1)" | bc -l
Dado que el valor de la escala es 10, el resultado de pi se escalará a diez puntos decimales.
Realización de matemáticas Bash
Puede realizar cálculos matemáticos bash fáciles mediante el uso de un conjunto de paréntesis dobles. Puede realizar operaciones aritméticas y booleanas en bash a través de esta técnica.
Aritmética
La siguiente lista de operaciones aritméticas se puede realizar en Linux bash:
+, – | Suma, resta |
++, — | Incremento, decremento |
*, / , % | Multiplicación, división, resto |
** | Valor del exponente |