LINUX.ORG.RU

Сообщения Naruto-kun

 

BASH и операции с нецелыми числами.

В скрипте необходимы операции с нецелыми числами. Нашёл пока только два варианта решения этого вопроса: 1) С помощью bc - Но у меня на работе bc урезанный и с ним выполнить задачу не получится. 2) С помощью awk - Занимает много времени на при большом числе операций. Сравнение: check=`echo "$a $b" | awk '{if ($1 >= $2) print 1; else print 0}'` Сложение или вычитание: c=`echo "$b $c" | awk '{print $1 - $2}'`

Может есть другие варианты?

Naruto-kun
()

Bash: Разница двух дат в количестве дней

Есть скрипт, в него среди всех входных параметров подаются две даты в формате: ДД.ММ.ГГ .Необходимо вычислить разницу этих двух дат в количестве дней. Всё было бы просто если бы работала функция date с флагом -d, но у меня на работе функция date имеет в наличии лишь флаги -u и -a. Нашёл вариант рещения своей задачи в Advanced Bash-Scripting Guide: http://www.opennet.ru/docs/RUS/bash_scripting_guide/a14477.html#DAYSBETWEEN . Но там слишком много операций, в то время как у меня на работе требуют, как можно меньше операций и соответсвтенно более быстрое выполнение действия, но в тоже время необходима точность, ибо скрипт будет работать с банковскими пластиковыми картами. Сам уже перегуглил вроде всё что можно, но до сих пор ничего толкового не нашёл. Есть правда и такой вариант: Посчитать отдельно сутки*24*3600, (месяц-1)*30*24*3600, (год-1)*365*24*3600, а потом сравнивать разницу с 365*3600 и делать выводы. Но тут всё равно будет много операций, нужно ещё меньше. Поэтому и прошу совета, может у кого есть идеи, как можно это реализовать ещё лучше. Хочу сразу сказать в задании чётко указано использовать только bash, тотже самый пёрл и его функции использовать нельзя. PS. Заранее спасибо.

Naruto-kun
()

RSS подписка на новые темы