当前位置: 首页 > 知识库问答 >
问题:

如何处理shell脚本中的十进制值[重复]

邓丰
2023-03-14

我想在shell脚本中使用十进制值,但它不起作用。我没有得到十进制值。很少有帖子建议使用linux的“bc”实用程序。但是在我的机器上没有安装“bc”,我没有安装任何实用程序的权限。现在可以在没有bc的情况下处理十进制值了。演示代码-:

calculatePercentage()
   {
    Value1=$1
    Value2=$2
    val=`expr $Value1 / $Value2`
    echo $val
    }

h=`calculatePercentage "150" "200"`
echo $h

输出-:

1

共有2个答案

牟嘉
2023-03-14

荒谬:

n1=9381
n2=99999
n1pad="$n1"$(printf "%010d" 0)
result=$(expr $n1pad / $n2)
result=$(printf "%010d" $result | sed 's/\(.\{1,10\}\)$/.\1/')
result=$(printf "%f" $result)
韦安顺
2023-03-14

以下是方便您使用的程序

echo $1 $2 | awk '{div=$1/$2; printf"%0.2f\n", div }'

输出:-执行时bash prog。sh 40 23

1.74

简单一行程序

 类似资料:
  • 创建了一个删除Redis中特定键的cron作业。 示例键:“\xac\xed\x00\x05t\x00\x15test”

  • 我如何纠正这一点?

  • 问题内容: 编辑: 已经快五年了,我不认为这是要走的路。客户应以正确的数字格式发布数据。对于像React或Angular这样的当前框架,或者具有适当的架构以及错误处理和验证,我认为这几乎不是问题。 但是,如果有人希望展示自己的Json.NET肌肉,请随时检查答案。 我有一个MVC应用程序,并且在其中处理了一些JSON。很简单 我的ModelBinder中有以下简单代码: 它可以完美地工作。 好吧,

  • 当Kafka JDBC接收器连接器启动时,我使用connect-log4j属性进行日志记录。我试图在connect-log4j.properties中重写shell脚本中的一个值。 我的Shell脚本: //从Shell脚本命令获取process.name process.name=????? log4j.appender.stdout=org.apache.log4j.consoleappend

  • 问题内容: 我想将二进制数据转换为十六进制,就是这样,没有花哨的格式等等。似乎太聪明了,它对我来说“过度格式化”。我想从/ dev / random中获取x个字节,并将其作为十六进制传递。 最好是我只想使用标准的Linux工具,这样就不需要在每台机器上安装它了(有很多)。 问题答案: 也许使用:

  • 本文向大家介绍处理Shell脚本中带有空格的变量(bash脚本),包括了处理Shell脚本中带有空格的变量(bash脚本)的使用技巧和注意事项,需要的朋友参考一下 本篇主要介绍bash脚本中对于含空格文件处理方式。 在批量处理音频文件时候使用下面的脚本发现含有空格的文件名并不能被处理; 通过set -x将执行信息打印出来,发现可以执行到,但是执行过程提示找不到对应的文件名,mv对应的source文