Как преобразовать строку в число?
Как теперь это число (строку) додать к настоящему числу?
Если можно, поясни более точно, какое значение ты вкладываешь в слово "додать"?
Вообще простые мат. функции в bash выполняются программой expr.
man expr
т. е. к примеру:
x=`awk ....`;
y=`expr $x + 3`;
Кстати в самом awk можно тоже выполнять арифметические действия:
awk '{print $1/1024}' x.txt;
Ещё можешь посмотреть функцию форматированного вывода awk:
printf
Дело вот в чем: awk считывает из текстового файла строку, содержащую одно число. Потом мне надо приплюсовать к этому числу-строке целое число, содержащееся в другой переменной. Но проблема в том, что awk возвращает строковое значение и я не могу добавить строку к числу. Вот мне-то и надо преобразовать строку-число в целое число!
Вообще-то (да поправят меня люди более умные) , в переменных shell овских скриптов (читай переменных окружения) всегда хранятся только текстовые строки.
Т. е. если ты пишешь
a="3.456";
то это значит, что в переменную окружения "a" записывается текстовое значение "3.456\0"
А дальше утилиты типа awk, expr и т. д. сами автоматически или по заданному тобой формату производят преобразование строк в числа, выполняют какие-то действия с ними, результирующее значение преобразуют в строку и записывают в стандартный поток вывода (или куда перенаправишь).
Поэтому то что выдаёт awk (текстовую строку) можешь смело подавать на вход expr.
А вообще выложи скрипт и сообщения об ошибках, которые выдаёт скрипт при исполнении.
$result=$[$a+$b]
Спасибо, я уже разобрался с помощью
$result=$[$a+$b]
тоже вариант. но я бы рекомендовал
так нагляднее.