一、awk实现进一法运算
[[email protected] ~]# du -sh /home/ | awk '{print $1}' 835G [[email protected] ~]# du -s /home/ | awk '{print $1/1024/1024"G"}' 834.39G [[email protected] ~]# du -s /home/ | awk '{a=$1/1024/1024}{printf("%dG\n",a~/./?int(a)+1:a)}' 835G [[email protected] ~]# du -s /home/ | awk '{a=$1/1024/1024}{printf("%dG\n",int(a)==a?a:(int(a)+1))}' 835G [[email protected] ~]# du -s /home/ | awk '{a=$1/1024/1024}{if(a>int(a))print int(a)+1"G";else print int(a)"G"}' 835G [[email protected] ~]#
[[email protected] ~]# du -s /home/ | awk '{a=$1/1024/1024}{printf("%dG\n",a~/./?int(a)+1:a)}' 835G [[email protected] ~]# #大叔给的方法,这里用到了三目运算,如果$1/1024/1024后有小数点,那就取整+1,否则就是整数 [[email protected] ~]# du -s /home/ | awk '{a=$1/1024/1024}{printf("%dG\n",int(a)==a?a:(int(a)+1))}' 835G [[email protected] ~]# #大叔给的方法,还是三目运算,如果$1/1024/1024运算后结果等于$1/1024/1024运算后去整的结果,就直接输出,否则+1输出 [[email protected] ~]# du -s /home/ | awk '{a=$1/1024/1024}{if(a>int(a))print int(a)+1"G";else print int(a)"G"}' 835G [[email protected] ~]# #马哥群里一师兄给的答案,其实都是一样的,都是判断下,然后根据判断结果来输出内容 [[email protected] ~]#
二、shell的三目运算
三目运算写法:condition?true_value:false_value
小学语文不好,直接来点例子说明
2015年7月20日 下午3:29 1F
测试下回复可见~~~~HOHO~~~