Bash:从整数切换到浮点数

时间:2018-06-04 15:23:23

标签: bash sed floating-point integer

我正在迭代一系列数字,但是想从一个整数切换到一个小数位的浮点数(例如从5到5.0),如下面的循环所示。

for coul in 5 6 7; do

    mkdir cc_${coul}                                      # <-- here, ${coul} 
                                                          # should be an integer

    ... some code ... 

    sed -i '15s/.*/variable coul equal '${coul}'/' cc.in  # <-- here, ${coul}
                                                          # must be a decimal 
                                                          # (e.g. 5.0)
done

2 个答案:

答案 0 :(得分:1)

你可以写:

"${coul}.0" 

在Posix shell或bash中不需要大括号,因为.不是有效的标识符字符,但在其他shell中可能是必需的。他们当然不会受伤。

答案 1 :(得分:0)

使用其他变量;就bash而言,这些只是在正确的上下文中可被视为数字的字符串。

coul_f=$coul.0
sed -i '15s/.*/variable coul equal '"$coul_f"'/' cc.in