免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1851 | 回复: 3

问个浮点数和整数计算的问题 [复制链接]

论坛徽章:
0
发表于 2009-03-04 19:34 |显示全部楼层
MEMS=`lsattr -El mem0|head -n 2|tail -n 1|awk '{printf $2}'`    获得系统内存

FREEMEMS=`vmstat 2 10 |egrep -v "cpu|---|wa" |awk '{if(NR==1) continue;free += $4;} END{printf("%.2lf\n",free/(NR-1)*4/1024);}'`   获得当前系统中free的内存

我想得出当前系统内存使用的百分比,并保留两位小数
USEDMEMS=$FREEMEMS/$MEMS*100    我是这样写的 但是不行

请高手支招,谢谢。

论坛徽章:
0
发表于 2009-03-04 19:42 |显示全部楼层
如果有bc的话可以这样:
Lsir:/tmp# a=5 b=6
Lsir:/tmp# c=$(echo "scale=5;$a/$b*100"|bc)    (注:如果保留两位可以scale=2)
Lsir:/tmp# echo $c
83.33300
如果有perl也可以 c=$(perl -e "printf '%.2f',$a/$b*100;")

[ 本帖最后由 dream3401 于 2009-3-4 20:17 编辑 ]

论坛徽章:
0
发表于 2009-03-04 20:10 |显示全部楼层
[root@erpdataserver ~]# MEMS=124
[root@erpdataserver ~]# FREEMEMS=4623
[root@erpdataserver ~]# echo "$FREEMEMS/$MEMS*100"|bc
3700
[root@erpdataserver ~]# USEDMEMS=`echo "$FREEMEMS/$MEMS*100"|bc`
[root@erpdataserver ~]# echo $(($FREEMEMS/$MEMS*100))
3700

论坛徽章:
0
发表于 2009-03-04 21:41 |显示全部楼层
原帖由 我是DBA 于 2009-3-4 20:10 发表
[root@erpdataserver ~]# MEMS=124
[root@erpdataserver ~]# FREEMEMS=4623
[root@erpdataserver ~]# echo "$FREEMEMS/$MEMS*100"|bc
3700
[root@erpdataserver ~]# USEDMEMS=`echo "$FREEMEMS/$MEMS*100"| ...

学习!!!!!!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP