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. Не стесняйтесь задавать любые вопросы или делиться своими мыслями по поводу этой статьи через форму обратной связи ниже.