【发布时间】:2017-02-20 10:55:16
【问题描述】:
我需要做一个简单的浮点运算: 我尝试同时使用 BC 和 awk 都没有成功...
remainingTime=$(((duration/numOfRevisions)*remainingRevision))
echo "$(($remainingTime / 60)) minutes and $(($remainingTime % 60)) seconds remaining."
所有变量都是整数(duration是秒数) 我的问题是计算变量剩余时间,以便使用第二行中格式化的打印。
我在Awk的尝试
remainingTime=$(awk "BEGIN {printf \"%.2f\",${duration}/${numOfRevisions}*${remainingRevision}}"
【问题讨论】:
-
bash仅支持整数运算。如果你想要浮点数,你必须使用像awk或bc这样的语言。 -
我尝试同时使用 BC 和 awk 都没有成功我看不出你在哪里尝试这样做。
-
你能告诉我们你对
bc和awk的尝试 -
@Barmar,这是我尝试的 awk 命令 remainingTime=$(awk "BEGIN {printf \"%.2f\",${duration}/${numOfRevisions}*${remainingRevision}} ")
-
@Inian 他的 awk 代码在双引号内,所以
bash会展开变量。
标签: bash