1. bc
echo "(6/4+2^5)*3" | bc
echo "scale=2;4/3" | bc
echo "ibase=16;A8" | bc
echo "ibase=2;obase=8;1111" | bc
2. dc,压栈操作
echo "2 3 + 4 * p" | dc
3. expr
expr 3 + 5
expr 2 \* 5
expr length "abc123"
expr substr "abc123" 4 3
expr index "abc123" "1"
4. echo,subshell
echo $((3*2))
5. awk
awk 'BEGIN{a=1+2;print a}'
6. 进制转换
((bin = 2#1010))
bin=$(echo "ibase=2;1010" | bc)
((oct = 012))
((oct = 8#12))
let oct=012
((hex = 0xa2))
((hex = 16#a2))
((base32 = 32#abc))
((base64 = 64#x_y_z))
base64_c=$(echo "obase=64;570306531" | bc)
echo $base64_c # 33 63 34 63 35
# Nondecimal Input Data
echo "0123 123 0x123" | gawk --non-decimal-data '{printf "%d, %d, %d\n", $1, $2, $3}'
83, 123, 291
# array sort
PROCINFO["sorted_in"]