Вопросы с тегом «arithmetic»

Этот тег предназначен для всего, что связано с математическими операциями. Поэтому, если вы хотите задать вопрос о выполнении вычислений в `awk`, или если у вас есть вопрос о` bc`, это правильный тег для использования.

1
Влияние на безопасность использования неанизированных данных в арифметической оценке Shell
В комментарии к недавнему вопросу Стефан Шазелас упоминает, что для арифметики с двойными круглыми скобками существуют последствия для безопасности, такие как: x=$((1-$x)) на большинстве снарядов. Мои навыки Google кажутся ржавыми, и я ничего не могу найти. Каковы последствия для безопасности арифметики двойных скобок?


4
Побитовый сдвиг и наибольшее целое число в Bash
Это вопрос исследования, то есть я не совсем уверен, о чем этот вопрос, но я думаю, что это самое большое целое число в Bash. Во всяком случае, я буду определять это реже. $ echo $((1<<8)) 256 Я делаю целое число, немного сдвигая. Как далеко я могу пойти? $ echo $((1<<80000)) …
16 bash  arithmetic 

2
Как увеличить локальную переменную в Bash?
Данные 1 \begin{document} 3 Код #!/bin/bash function getStart { local START="$(awk '/begin\{document\}/{ print NR; exit }' data.tex)" echo $START } START2=$(getStart) echo $START2 который возвращается, 2но я хочу 3. Я безуспешно изменяю конец этого ответа о том, как я могу добавить числа в сценарии bash : START2=$((getStart+1)) Как вы можете …

2
Как округлить числа с плавающей точкой в ​​оболочке?
Как правильно округлить числа IEEE 754 с плавающей запятой в командной строке? Я хочу указать точность выходного числа - количество дробных цифр. Округление 6.66до точности 1должно дать 6.7, например. Больше в таблице ниже: Value Precision Rounded 6.66 0 7 6.66 1 6.7 6.66 2 6.66 6.66 3 6.660 6.666 3 …

6
Почему «$ ((~ 33))» производит -34?
$ echo $(( 255 )) 255 $ echo $(( 33 )) 33 $ echo $(( ~33 )) -34 $ echo $(( ~255 )) -256 $ и мое ядро: $ uname -a Linux HOSTNAME 3.2.0-40-generic-pae #64-Ubuntu SMP Mon Mar 25 21:44:41 UTC 2013 i686 i686 i386 GNU/Linux ВОПРОС: ~ для отрицания …
12 bash  shell  arithmetic 

8
Как суммировать время, используя bash?
Я хочу знать общее количество времени, которое займет ряд процессов на моем компьютере, чтобы решить, должен ли я работать там или на более сильном компьютере. Итак, я прогнозирую время выполнения каждой команды. Вывод выглядит так: process1 00:03:34 process2 00:00:35 process3 00:12:34 Как суммировать второй столбец, чтобы получить общее время выполнения? …
12 bash  time  arithmetic 

2
awk арифметика высокой точности
Я ищу способ сказать awk, чтобы сделать высокоточную арифметику в операции подстановки. Это включает в себя чтение поля из файла и замену его с шагом 1% на это значение. Однако я теряю точность там. Вот упрощенное воспроизведение проблемы: $ echo 0.4970436865354813 | awk '{gsub($1, $1*1.1)}; {print}' 0.546748 Здесь у меня …

4
Вычислить переменную и вывести ее в другую переменную
Единственный калькулятор, который я знаю, это bc. Я хочу добавить 1в переменную и выводить в другую переменную. Я получил nextnumпеременную от подсчета строки в файле: nextnum=`grep -o stringtocount file.tpl.php | wc -w` Скажем, nextnumценность есть 1. Когда добавлено с 1, это станет 2. Чтобы рассчитать, я бегу: rownum=`$nextnum+1 | bc` …

1
Какова причина того, что оболочка bash не предупреждает вас об арифметическом переполнении и т. Д.?
Существуют ограничения, установленные для возможностей арифметической оценки bashоболочки. Руководство кратко об этом аспекте арифметики оболочки, но гласит : Оценка выполняется в целых числах фиксированной ширины без проверки переполнения, хотя деление на 0 перехватывается и помечается как ошибка. Операторы и их приоритет, ассоциативность и значения такие же, как в языке Си. …

3
case + как реализовать равный или меньший или больший в случае синтаксиса case
Моя цель - проверить диапазон числа с помощью (только с case+ esac) и распечатать диапазон. Так, например: Если число находится в диапазоне от 0 до 80, выведите >=0<=80 Если число находится между 81 и 100, напечатайте >=81<=100 и т.п. Проблема с моим сценарием, приведенным ниже, печатается только в том >=0<=90случае, …

3
Добавление чрезвычайно больших чисел в сценарии оболочки
Предположим, что два числа хранятся в двух разных файлах, a.txtи b.txt. Каждое число достаточно большое (более 30 цифр), чтобы его не поддерживал числовой тип данных, используемый bash. Как я могу добавить их в оболочку?


2
Попытка сделать арифметику в инструменте переименования Perl (Debian)
Предположим, у меня есть пять mp3-файлов: 01-trackfoo.mp3 02-trackbar.mp3 03-trackbaz.mp3 04-trackabc.mp3 05-trackxyz.mp3 Теперь я быстро прослушиваю файлы (просто mplayer на консоли справится с задачей) и обнаруживаю, что треки расположены в неправильном порядке . 05 на самом деле 02, а остальные должны быть переименованы. Итак, сначала я сделаю временное переименование: 01-trackfoo.mp3 02-trackbar.mp3 …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.