免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 1700 | 回复: 10
打印 上一主题 下一主题

问一个弱弱的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-16 22:05 |只看该作者 |倒序浏览
请问大家,怎么比较两个百分数的大小?
用正常判断第一个数和第二个数大小的命令好像不可以
反正我测试是不可以
望赐教。。。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2006-08-16 23:33 |只看该作者

  1. #!/bin/bash
  2. #没对输入位置参数检测
  3. #没对考虑负数进行监测
  4. a1=$(expr $1 : '\(.*\)%')
  5. a2=$(expr $2 : '\(.*\)%')
  6. c=$(($((${#a1}>${#a2}?${#a1}:${#a2}))-2))
  7. ac=$(printf "%.${c}f" $a1) ac=${ac/.}
  8. bc=$(printf "%.${c}f" $a2) bc=${bc/.}
  9. ([[ $ac > $bc ]]&&echo \$1 is big)||\
  10. ([[ $ac < $bc ]]&&echo \$2 is big)||\
  11. ([[ $ac == $bc ]]&&echo \$1 is equl \$2)
复制代码

见: http://bbs.chinaunix.net/viewthread.php?tid=811645&extra=page%3D1 略加修改即可

[ 本帖最后由 寂寞烈火 于 2006-8-16 23:34 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2006-08-17 08:11 |只看该作者
乘以100再比较

论坛徽章:
0
4 [报告]
发表于 2006-08-18 09:28 |只看该作者
恩。。。看不懂。。。
其实我就是通过PING,然后取得返回值
把其中的丢包率百分比提出
之后与预定的值进行对比的
ping -q -c num ip|awk '{print $7}'
印象中是这样获取值的
然后怎么进行对比呢?
乘以100我也考虑过
但是我并不了解shell:(
不知道怎样进行逻辑运算
谢谢~

论坛徽章:
0
5 [报告]
发表于 2006-08-18 13:50 |只看该作者
请问没有更简单的方法了么?

论坛徽章:
0
6 [报告]
发表于 2006-08-18 17:28 |只看该作者
再顶上来,期待回复ING。。。

论坛徽章:
0
7 [报告]
发表于 2006-08-18 17:33 |只看该作者
要解决问题还怕麻烦?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
8 [报告]
发表于 2006-08-18 17:41 |只看该作者
干嘛不直接取到百分号前面的数来计算呢?类似:
grep -Po '\d+(?=% packet loss)'
sed -n 's/.* \([0-9]*\)% packet loss.*/\1/p'
前面一个是GNU grep的语法,后面sed的通用些。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
9 [报告]
发表于 2006-08-18 17:42 |只看该作者
原帖由 woodie 于 2006-8-18 17:41 发表
干嘛不直接取到百分号前面的数来计算呢?类似:
grep -Po '\d+(?=% packet loss)'
sed -n 's/.* \([0-9]*\)% packet loss.*/\1/p'
前面一个是GNU grep的语法,后面sed的通用些。

:em11:支持

论坛徽章:
0
10 [报告]
发表于 2006-08-22 23:33 |只看该作者
谢谢:)
8过AIX下测试失败。。。
:(
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP