Linux命令行计算阶乘及进制转换以及统计尾部0的个数
#6!
$ echo "6 [d 1 - d 1 <F *] d sF x p" | dc
720
#转为16进制
$ echo "16 o 720 p"|dc
2D0
#合并计算阶乘及进制转换为一条命令
$ echo "16 o 6 [d 1 - d 1 <F *] d sF x p" | dc
2D0
#统计尾部0的个数
$ echo "3200" | awk -F "" '{sum=0; for(i=NF; $i=="0"; i--) sum++; print sum }'
2
#合并计算阶乘再进制转换最后统计尾部0的个数
$ echo "16 o 6 [d 1 - d 1 <F *] d sF x p" | dc | awk -F "" '{sum=0; for(i=NF; $i=="0"; i--) sum++; print sum }'
1
参考:
http://bbs.aliyun.com/read/164804.html
http://www.groad.net/bbs/thread-5856-1-1.html