Арифметика с плавающей точкой в сценарии оболочки UNIX

Как сделать арифметику с числами с плавающей запятой, такими как1.503923 в сценарии оболочки? Числа с плавающей точкой извлекаются из файла в виде строки. Формат файла следующий:

1.5493482,3.49384,33.284732,23.043852,2.2384...
3.384,3.282342,23.043852,2.23284,8.39283...
.
.
.

Вот упрощенный пример кода, который мне нужен, чтобы начать работать. Все отлично работает до арифметики. Я вытягиваю строку из файла, затем вытягиваю несколько значений из этой строки. Я думаю, что это сократило бы время обработки поиска, поскольку эти файлы огромны.

# set vars, loops etc.

while [ $line_no -gt 0 ]
do
    line_string=`sed -n $line_no'p' $file_path`  # Pull Line (str) from a file
    string1=${line_string:9:6}                   # Pull value from the Line
    string2=${line_string:16:6}
    string3=...
    .
    .
    .
    calc1= `expr $string2 - $string7` |bc -l     # I tried these and various
    calc2= ` "$string3" * "$string2" ` |bc -l    # other combinations
    calc3= `expr $string2 - $string1`
    calc4= "$string2 + $string8" |bc
    .
    .
    .
    generic_function_call                        # Use the variables in functions
    line_no=`expr $line_no - 1`                  # Counter--
done

Выходные данные я продолжаю получать:

expr: non-numeric argument
command not found

Ответы на вопрос(4)

Ваш ответ на вопрос