zoukankan      html  css  js  c++  java
  • 5-2-shell:数值处理--加减乘除

    一、整数

    加减乘除

    echo `expr 2 + 1`
    echo `expr 2 - 1`
    echo `expr 2 * 1`
    echo `expr 2 / 1`

    比较

    -eq  等于,如:if [ "$a" -eq "$b" ]   
    -ne  不等于,如:if [ "$a" -ne "$b" ]   
    -gt  大于,如:if [ "$a" -gt "$b" ]   
    -ge  大于等于,如:if [ "$a" -ge "$b" ]   
    -lt   小于,如:if [ "$a" -lt "$b" ]   
    -le  小于等于,如:if [ "$a" -le "$b" ]   
    <   小于(需要双括号),如:(("$a" < "$b"))   
    <=  小于等于(需要双括号),如:(("$a" <= "$b"))   
    >   大于(需要双括号),如:(("$a" > "$b"))   
    >=  大于等于(需要双括号),如:(("$a" >= "$b"))   

    二、浮点数-bc

    使用awk或者bc计算

    加减乘除

    精度丢失
    echo "0.2+2.5"|bc
    echo "0.2-2.5"|bc
    echo "0.2*2.5"|bc    --结果.5
    echo "2.5/0.2"|bc    --结果12

    比较

    if [ $(echo '5.2 > 2'|bc) = 1 ]
    then 
        echo "test"
    fi

    差值比较

    a=5.2
    b=2
    if [ `echo "$a - $b > 1"|bc` = 1 ]
    then 
        echo "test greater"
    fi
    
    if [ `echo "$a - $b == 3.2"|bc` = 1 ]
    then 
        echo "test equal"
    fi

    二、浮点数-awk

    使用awk或者bc计算

    加减乘除

    完整计算
    a=5.2
    b=2
    echo "$a $b" | awk '{printf("%0.3f
    ",$1+$2)}'
    echo "$a $b" | awk '{printf("%0.3f
    ",$1-$2)}'
    echo "$a $b" | awk '{printf("%0.3f
    ",$1×$2)}'
    echo "$a $b" | awk '{printf("%0.3f
    ",$1/$2)}'

    比较

    a=5.2
    b=2
    if [ $(echo "$a $b" | awk '{printf("%d
    ",$1<$2)}') = 1 ]
    then 
        echo "test"
    fi

    差值比较

    a=5.2
    b=2
    if [ `echo "$a $b" | awk '{printf("%d
    ",$1<$2)}'` = 1 ] 
    then 
        echo "test greater" 
    fi 
    if [ `echo "$a - $b == 3.2"|bc` = 1 ] 
    then 
         echo "test equal" 
    fi
  • 相关阅读:
    unix文件权限
    jira部署,主机迁移,数据库迁移,jira
    c函数习记
    常用软介质下载
    Matlab interpgui
    LightOJ 1422
    【CODEFORCES】 A. Keyboard
    leetcode 230: Kth Smallest Element in a BST
    Vertica7 Native Connection Load Balance
    vlc模块间共享变量
  • 原文地址:https://www.cnblogs.com/lamp-lrh/p/14059071.html
Copyright © 2011-2022 走看看