Shell进行数学计算的三种方式
((i++))
let i++
expr $i + 1
#! /bin/bash # calc.sh i=0; while [ $i -lt 10000 ] do ((i++)) done echo $i
#! /bin/bash # gettopfamily.sh [ $# -lt 1 ] && echo "please input the income file" && exit -1 [ ! -f $1 ] && echo "$1 is not a file" && exit -1 income=$1 awk '{ printf("%d %0.2f ", $1, $3/$2); }' $income | sort -k 2 -n -r
bc求冥的符号为^
expr, let求冥的符号为**
let, expr无法进行浮点运算,但是bc和awk可以
echo "scale=3;1/13"|bc
echo "1 13"|awk '{printf("%0.3fn", $1/$2)}'
进制转换
echo "obase=10;ibase=8;11"|bc -l
echo $((8#11))
od命令可以显示特定的进制表示