我想在bash中做一笔钱,但数字是用点而不是逗号(例如:1.2333)
我试过这个脚本
#!/bin/bash
somma=0
n=0
tempo=0
val=0
while read -r val1 val2
do
somma=$((somma += val1))
tempo=$(echo $tempo += $val2 | bc)
n=$((n +=+1))
done < "ret.txt"
echo $tempo
但是我收到了这个错误:
(standard_in) 1: syntax error
答案 0 :(得分:3)
awk '
{sum1 += $1; sum2 += $2}
END {print "somma=" sum1; print "tempo=" sum2}
' filename
如果您需要在bash脚本中使用这些值,eval
该awk命令的输出,或者:
read somma tempo < <(
awk '{sum1 += $1; sum2 += $2} END {print sum1, sum2}' filename
)
答案 1 :(得分:1)
#!/bin/bash
somma=0
n=0
tempo=0
val=0
while read -r val1 val2; do
((somma += val1))
tempo=$(bc <<< "$tempo + $val2")
((n++))
done < "ret.txt"
echo "$tempo"