Как я могу разделить консоль Linux?

У меня есть переменные, и я хочу найти значение одного, деленное на другое. Какие команды следует использовать для этого?

Ответ 1

В оболочке bash объемные арифметические выражения с $(( ... ))

$ echo $(( 7 / 3 ))
2

Хотя я думаю, что вы ограничены целыми числами.

Ответ 2

echo 5/2 | bc -l

+2,50000000000000000000

эта опция '-l' в 'bc' допускает плавающие результаты

Ответ 3

Лучше всего использовать "bc", калькулятор произвольной точности.

variable=$(echo "OPTIONS; OPERATIONS" | bc)

ex:

my_var=$(echo "scale=5; $temp_var/100 + $temp_var2" | bc)

где "шкала = 5" - точность.

man bc 

поставляется с несколькими примерами использования.

Ответ 4

Я по-прежнему предпочитаю использовать dc, который является калькулятором RPN, поэтому быстрый сеанс для разделения 67 на 18 с точностью 4 цифры будет выглядеть как

>dc
4k
67
18/p
3.7222
q
>

Очевидно, гораздо более доступно: man dc

Ответ 5

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

например. для 1.2/3.4

>echo 1.2 3.4 | awk '{ print $2/$1 }'
0.352941

Ответ 6

В bash, если вам не нужны десятичные числа в вашем разделе, вы можете сделать:

>echo $((5+6))
11
>echo $((10/2))
5
>echo $((10/3))
3

Ответ 7

Я предполагаю, что консоль Linux означает Bash.

Если X и Y являются вашими переменными, $(($X / $Y)) возвращает то, что вы просите.

Ответ 8

Пример целочисленного деления с использованием bash для деления $a на $b:

echo $((a/b))

Ответ 9

Что-то еще, что вы могли бы сделать, используя ответ raytrace. Вы можете использовать stdout другого вызова оболочки, используя обратные выходы, чтобы выполнить некоторые вычисления. Например, я хотел узнать размер файла из 100 лучших строк из нескольких файлов. Исходный размер от wc -c находится в байтах, я хочу знать килобайты. Вот что я сделал:

echo `cat * | head -n 100 | wc -c` / 1024 | bc -l

Ответ 10

Вам следует попробовать:

echo "scale=4;$variablename/3"|bc

Ответ 11

вы также можете использовать perl -e

perl -e 'print 67/8'

Ответ 12

У меня также была та же проблема. Легко разделить целочисленные числа, но десятичные числа не так-то просто. если у вас есть 2 числа, такие как 3.14 и 2.35 и затем разделите числа, код будет Div = echo 3.14 / 2.35 | bc                     echo "$ Division" кавычки разные. Не путайте, он расположен под кнопкой esc на клавиатуре. Единственная разница - это | bc, а также здесь echo работает как оператор для арифметических вычислений вместо печати. Итак, я добавил echo "$ Division" для печати значения. Дайте мне знать, если это сработает для вас. Спасибо.