浮点数除法

Userbio

我已经阅读了以前关于bash中浮点数除法的所有文章,但我无法解决我的问题...

我有这个bash脚本:

lengthseq=$(sed -e 's/^\(>\).*//' sequence.fasta | sed '1d' | tr -d "\n" | awk '{ print length }')
lengthcodons=$("$lengthseq/3" | bc -l)

echo $lengthseq
echo $lengthcodons

Lengthseq没关系。echo $ lengthseq打印2275859。

如果我在konsole中运行它:

echo "2275859/3" | bc -l
758619.66666666666666666666

也可以

因此,我不理解为什么在脚本中尝试$ lengthcodons会生成错误。

阿努巴瓦

使用的正确语法bc -l是:

lengthcodons=$(bc -l <<< "$lengthseq/3")
echo "$lengthcodons"
758619.66666666666666666666

或搭配 scale=2

lengthcodons=$(bc -l <<< "scale=2; $lengthseq/3")
echo "$lengthcodons"
758619.66

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章