n=1000;f="test.csv";r='([0-9]+.{0,1}[0-9]*)';echo -n "" > new_${f};cat $f | while read l;do val=`echo $l | egrep -o $r` ; if [ ! -z $val ];then newval=`echo $val \* $n | bc -l`;l=`echo $l | sed "s/$val/$newval/"`;fi;echo $l >> new_${f};unset val;done
Эта команда обновляет первое найденное значение числа в каждой строке указанного файла «test.csv», умножая его на 1000 и сохраняя изменения в новом файле «new_test.csv». Если строка не содержит числа, она остается без изменений. Альтернативный способ: можно использовать awk вместо цикла while и sed, чтобы более компактно выполнять такие операции.
