decimal_places=2
dc <<< "${decimal_places}k $(uptime | awk '{print $11}'| cut -d"," -f1) $(grep -c processor /proc/cpuinfo) /p"
Этот ответ использует $()
в bash, поэтому временные переменные не нужны.
В нем также используется dc, калькулятор. Мы говорим dc о точности, используя k
, затем даем ему 2 числа, затем просим его разделить их и вывести ответ.
amt=$(
grep -E '^.{123}RS' custbills.cmp |
cut -c86-99 |
tr '\n' '+' |
bc
)
или
amt=$(
awk '
substr($0,124,2) == "RS" {amt+=substr($0,86,14)}
END {print amt}
' custbills.cmp
)
вы отправляете в bc что-то вроде
12 34 56 22 56 98
без строки операции.
редактировать попробовать
amt=$(cat custbills.cmp| cut -c86-99 |awk '{s+=$1 } END {print s }')