5 способов расчета арифметики в терминале Linux

5 способов расчета арифметики в терминале Linux

Утилиты Linux

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

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

 

1. Использование Bash Shell

Первый и самый простой способ сделать базовую математику в 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

 

do-simple-math-in-cli-using-double-parenthesis - 5 способов расчета арифметики в терминале Linux

 

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

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

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

 

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

 

do-simple-calculations-using-the-expr-command

 

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

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

 

$ expr 5 = 3
$ expr 5 = 5
$ expr 8 != 5
$ expr 8 \> 5
$ expr 8 \< 5
$ expr 8 \<= 5[code]

 

<a href="https://blog.sedicomm.com/wp-content/uploads/2019/06/comparing-expressions.png"><img class="aligncenter wp-image-11394 size-full" src="https://blog.sedicomm.com/wp-content/uploads/2019/06/comparing-expressions.png" alt="comparing-expressions - 5 способов расчета арифметики в терминале Linux" width="482" height="249" /></a>

 

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

 

[code]$ NUM=$(( 1 + 2))
$ echo $NUM
$ NUM=$(expr $NUM + 2)
$ echo $NUM

 

incrementing-value-of-a-variable

 

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

 

$ expr length "This is Tecmint.com"

 

find-length-of-a-string

 

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

 

use-bc-non-interactively - 5 способов расчета арифметики в терминале Linux

 

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

 

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

 

doing-math-using-bc

 

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

 

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

 

do-math-with-floating-point-numbers-in-bc

 

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) }'

 

do-basic-math-using-awk

 

Если вы новичок в Awk, у нас есть полный набор руководств, с которых вы можете начать изучение: Awk Text Processing Tool.

 

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

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

 

$ factor 10
$ factor 127
$ factor 222
$ factor 110

 

factor-a-number - 5 способов расчета арифметики в терминале Linux

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасности от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Утилиты Linux

Больше похожих постов

Top-Hex-Editors-for-Linux - Лучшие hex-редакторы для Linux

Лучшие hex-редакторы для Linux

421
0
В этой статье мы рассмотрим некоторые из лучших hex-редакторов для Linux. Но прежде чем мы начнем, давайте посмотрим, что же…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Самое читаемое
Меню