LINUX.ORG.RU

Расчёт в командной строке


0

0

И так, есть файл в котором в каждой строке записаны цифры. Например:

4.982769404e-9
4.640407745e-10
1.004964158e-10
8.692103202e-11

нужно взять каждую цифру и разделить её на число, например 1e-12 Вроде элементарно:

cat FILE | while read line; do calc "$line/1e-12"; done

Но! почему-то делится как положено только число из первой строки, остальные хоть убей не хотят. Получается что-то типа:

4982.769404
0.0000000004640407745
0.00000000008692103202

Хотя должно:

4982.769404
464.0407745
100.4964158
86.92103202


Ответ на: комментарий от TGZ

Спасибо! Сработало. Интересно, почему мой вариант не работает?

flus
() автор топика

Вдогонку: так сойдет?
cat file | sed -e 's/[eE]/*10^/g; s/$/\/(10^-12)/;' | bc -l

Sergius256
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.