Linux shell中对小数进行比较的方法

版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/David__peng/article/details/82980288

前言

用于数值比较的无非大于、小于、等于、大于等于、小于等于这几个。

比较格式: [ 数值1 比较符 数值2 ] 注意左边的括号与数值1之间有一个空格,同样,数值2和右边的括号之间也有空格。

数值比较运算符对应下面几个:
-eq 判断相等,相等返回true,否则返回false
-ne 判断是否不相等,不相等返回true,否则返回false
-gt 判断左边是否大于右边的值,大于则返回true,否则返回false
-lt 判断左边是否小于右边的值,小于则返回true,否则返回false
-ge 判断左边是否大于或等于右边的值,大于则返回true,否则返回false
-le 判断左边是否小于右边的值,小于则返回true,否则返回false

小数的比较

1.shell中 可以用 bc 对小数进行运算
#echo 5.5+1.1 | bc
6.6

2.使用,awk判断小数点后的位数

num=6.6666;echo $num | awk 'BEGIN{FS="."}{printlength($2)}'

3.直接使用awk比较大小

awk -v num1=6.6 -v num2=5.5'BEGIN{print(num1>num2)?"0":"1"}'

如果num1>num2打印输出0,否则输出1

4.使用expr,返回1表示 a > a> b, 0表示 a < a< b

 a=6.6 b=5.5;expr $a > $b

5.使用br

echo "6.6>5.5" |br

linux shell 中小数进行比较

if [ `expr $a \> $b` -eq 0 ];then
   echo $b is bigger
else
    echo $a is bigger
fi

猜你喜欢

转载自blog.csdn.net/David__peng/article/details/82980288