Поиск по сайту:

5 полезных способов выполнения арифметических действий в терминале Linux


В этой статье мы покажем вам различные полезные способы выполнения арифметических действий в терминале Linux. К концу этой статьи вы узнаете основные различные практические способы выполнения математических вычислений в командной строке.

Давайте начнем!

1. Использование оболочки Bash

Первый и самый простой способ выполнить базовые математические операции в Linux CLI — это использовать двойные круглые скобки. Вот несколько примеров использования значений, хранящихся в переменных:

ADD=$(( 1 + 2 ))
echo $ADD
MUL=$(( $ADD * 5 ))
echo $MUL
SUB=$(( $MUL - 5 ))
echo $SUB
DIV=$(( $SUB / 2 ))
echo $DIV
MOD=$(( $DIV % 2 ))
echo $MOD

2. Использование команды expr

команда expr оценивает выражения и выводит значение предоставленного выражения в стандартный вывод. Мы рассмотрим различные способы использования expr для выполнения простых математических операций, сравнения, увеличения значения переменной и определения длины строки.

Ниже приведены несколько примеров выполнения простых вычислений с использованием команды expr. Обратите внимание, что многие операторы для оболочек должны быть экранированы или заключены в кавычки, например оператор * (подробнее мы рассмотрим при сравнении выражений).

expr 3 + 5
expr 15 % 3
expr 5 \* 3
expr 5 – 3
expr 20 / 4

Далее мы рассмотрим, как проводить сравнения. Когда выражение оценивается как ложное, expr выводит значение 0, в противном случае оно печатает 1.

Давайте посмотрим на несколько примеров:

expr 5 = 3
expr 5 = 5
expr 8 != 5
expr 8 \> 5
expr 8 \< 5
expr 8 \<= 5

Вы также можете использовать команду expr для увеличения значения переменной. Взгляните на следующий пример (точно так же вы можете уменьшить значение переменной).

NUM=$(( 1 + 2))
echo $NUM
NUM=$(expr $NUM + 2)
echo $NUM

Давайте также посмотрим, как найти длину строки, используя:

expr length "This is linux-console.net"

Дополнительную информацию, особенно о значении вышеуказанных операторов, можно найти на странице руководства expr:

man expr

3. Использование команды bc

bc (Basic Calculator) — это утилита командной строки, предоставляющая все функции, которые вы ожидаете от простого научного или финансового калькулятора. Это особенно полезно для выполнения математических операций с плавающей запятой.

Если команда bc не установлена, ее можно установить с помощью:

sudo apt install bc   #Debian/Ubuntu
sudo yum install bc   #RHEL/CentOS
sudo dnf install bc   #Fedora 22+

После установки вы можете запустить его в интерактивном или неинтерактивном режиме, передав ему аргументы — мы рассмотрим оба случая. Чтобы запустить его в интерактивном режиме, введите команду bc в командной строке и начните выполнять математические операции, как показано.

bc 

В следующих примерах показано, как использовать bc в неинтерактивном режиме в командной строке.

echo '3+5' | bc
echo '15 % 2' | bc
echo '15 / 2' | bc
echo '(6 * 2) - 5' | bc

Флаг -l используется для масштабирования по умолчанию (цифры после запятой) до 20, например:

echo '12/5 | bc'
echo '12/5 | bc -l'

4. Использование команды Awk

Awk — одна из самых известных программ обработки текста в GNU/Linux. Он поддерживает операторы сложения, вычитания, умножения, деления и арифметических операций по модулю. Это также полезно для выполнения математических операций с плавающей запятой.

Вы можете использовать его для выполнения основных математических операций, как показано.

awk 'BEGIN { a = 6; b = 2; print "(a + b) = ", (a + b) }'
awk 'BEGIN { a = 6; b = 2; print "(a - b) = ", (a - b) }'
awk 'BEGIN { a = 6; b = 2; print "(a *  b) = ", (a * b) }'
awk 'BEGIN { a = 6; b = 2; print "(a / b) = ", (a / b) }'
awk 'BEGIN { a = 6; b = 2; print "(a % b) = ", (a % b) }'

Если вы новичок в Awk, у нас есть полная серия руководств, которые помогут вам начать его изучение: Изучите инструмент обработки текста Awk.

5. Использование факторной команды

Команда фактор используется для разложения целого числа на простые множители. Например:

factor 10
factor 127
factor 222
factor 110  

Вот и все! В этой статье мы объяснили различные полезные способы выполнения арифметических действий в терминале Linux. Не стесняйтесь задавать любые вопросы или делиться своими мыслями по поводу этой статьи через форму обратной связи ниже.