shell脚本,比较非整数的大小

提取得到两数组,都不是整数,希望比较大小选择最小数,

有什么具体的方法? 分段比较小数点前后还是直接进行比对?

脚本应该怎么写呢? 请具体指点一下,感谢!!

作者: bjwangzhou   发布时间: 2011-05-10

从小数点阶段 整数部分和小数部分分别比较。

不过非要用shell吗 用perl直接就可以进行比较

作者: steptodream   发布时间: 2011-05-10

用awk也可以吧
awk 'BEGIN{if(3.4>3.3) print "haha"}'

作者: justkk   发布时间: 2011-05-10

要真只用shell的话 可以借助bc命令
比如2个变量$a $b
echo "$a > $b" | bc 
如果a大于b 上面的语句会输出1
如果a小于b 上面的语句会输出0

作者: steptodream   发布时间: 2011-05-10

引用 1 楼 steptodream 的回复:
从小数点阶段 整数部分和小数部分分别比较。

不过非要用shell吗 用perl直接就可以进行比较

嗯,思路是这样分割比较,但是因为我刚用shell 3天,实在是没基础
想问问熟悉的专家是否有更快捷的方法

作者: bjwangzhou   发布时间: 2011-05-10

引用 2 楼 justkk 的回复:
用awk也可以吧
awk 'BEGIN{if(3.4>3.3) print "haha"}'

尝试一下,感谢提供思路

作者: bjwangzhou   发布时间: 2011-05-10

引用 3 楼 steptodream 的回复:
要真只用shell的话 可以借助bc命令
比如2个变量$a $b
echo "$a > $b" | bc
如果a大于b 上面的语句会输出1
如果a小于b 上面的语句会输出0

尝试一下,感谢提供思路,另外,若是两个数组,比较出其中最小的数值并加以提取赋予变量,

请问该怎么做呢?

作者: bjwangzhou   发布时间: 2011-05-10

尝试一下,感谢提供思路,另外,若是两个数组,比较出其中最小的数值并加以提取赋予变量,
-----------
直赋给新的变量就行了 
比如你比较的最后 最小的值是b数字的第3个元素 ${b[2]} 你要把这个值赋给新的变量var 那么直接
var=${b[2]}就行了 

我感觉我是理解错了你的意思。

作者: steptodream   发布时间: 2011-05-10