下午好,需要将秒转换为毫秒。脚本:
#!/bin/bash
a=$(ffprobe -i c848a39afc54e04cc64ddd955686654b9b1c6f31 -show_entries format=duration -v quiet -of csv="p=0");
b=1000;
result=$(($a*$b));
echo $result
输出
./sectomilisec: line 4: 23.760000*1000: syntax error: invalid arithmetic operator (error token is ".760000*1000")
答案 0 :(得分:3)
bash
不支持浮点运算。您可以使用bc
:
result=$(echo "$a*$b" | bc)
答案 1 :(得分:2)
您的解决方案仅适用于整数。为了得到一个有理数的工作解决方案,我建议将输出汇总到Also see here for plenty of other possible options:
"$a*$b" | bc
示例:
$ echo "9 * .3" | bc
# 2.7
此解决方案对非整数有效。