LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1393|回复: 4

请问shell里怎么比较两个带小数点的数字的大小?

[复制链接]
发表于 2005-12-21 23:18:51 | 显示全部楼层 |阅读模式
请问shell里怎么比较两个带小数点的数字的大小?
发表于 2005-12-22 01:53:58 | 显示全部楼层
bash 不能处理浮点运算,可以用 bc, dc, awk 来处理
这里给出一个用 sort -n 来比较数的大小的脚本
水平很菜,那位有更好的方法?

  1. #!/bin/bash

  2. minimum=`echo -e "$1\n$2" | sort -n | sed -n '1p'`
  3. maximum=`echo -e "$1\n$2" | sort -n | sed -n '2p'`

  4. echo "maximum=$maximum"
  5. echo "minimum=$minimum"
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-12-22 10:55:12 | 显示全部楼层
是不是zsh或ksh93支持浮点数运算。
回复 支持 反对

使用道具 举报

发表于 2005-12-23 04:24:02 | 显示全部楼层
感觉用awk挺方便的
  1. echo "1.1" "1.2"  | awk '{if($1<$2)print $1,"is smaller than",$2}'
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-23 09:27:51 | 显示全部楼层
if [ $busy -gt 5 ] -o [ $avwait -gt $avserv ]
以这个做条件,似乎很难判断后面两个小数比较。
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表