(1)bc
bc在默认的情况下是个交互式的指令。在bc工作环境下,可以使用以下计算符号:
+ 加法 
- 减法 
* 乘法 
/ 除法 
^ 指数 
% 余数
如:

3+4;5*2;5^2;18/4      <=一行输入多个计算,用;相隔。
7
10
25
4
quit           <=退出
 
# bc
scale=3         <=设小数位
1/3
.333
quit
 
以上是交互的计算,那到也可以不进行交互而直接计算出结果
A.用echo和|法,如:

# echo "(6+3)*2" |bc
18
# echo 15/4 |bc
3
# echo "scale=2;15/4" |bc
3.75
# echo "3+4;5*2;5^2;18/4" |bc
7
10
25
4
 
另外,bc除了scale来设定小数位之外,还有ibase和obase来其它进制的运算。
如:
//将16进制的A7输出为10进制, 注意,英文只能大写
# echo "ibase=16;A7" |bc
167
//将2进制的11111111转成10进制
# echo "ibase=2;11111111" |bc
255
//输入为16进制,输出为2进制
# echo "ibase=16;obase=2;B5-A4" |bc
10001
 
对于bc还有补充,在bc --help中还可以发现:bc后可以接文件名。如:
# more calc.txt 
3+2
4+5
8*2
10/4
# bc calc.txt 
5
9
16
2
2)expr
expr命令可不光能计算加减乘除哦,还有很多表达式,都可以计算出结果,不过有一点需要注意,在计算加减乘除时,不要忘了使用空格和转义。下面直接用实例来介绍一下expr的运算,如:
# expr 6 + 3       (有空格)
9
 
# expr 2 /* 3      (有转义符号)
6
# expr 14 % 9 
 
# a=3
# expr $a+5          (无空格)
3+5
# expr $a + 5         (变量,有空格)
8
# a=`expr 4 + 2`
echo $a
6
# expr $a + 3
9

另外,expr对于字串的操作(计算)也是很方便的,如:

//字串长度 
# expr length "yangzhigang.cublog.cn" 
21
 
//从位置处抓取字串 
# expr substr "yangzhigang.cublog.cn" 1 11
yangzhigang
//字串开始处
# expr index "yangzhigang.cublog.cn" cu
13
 
3)dc
用dc来进行计算的人可以不多,因为dc与bc相比要复杂,但是在进行简单的计划时,是差不多的,不算难。dc为压栈操作,默认也是交互的,但也可以用echo和|来配合打算。
如:
# dc
3
2+
p
5
4*
p
20
quit
 
# echo 3 2+ 4* p |dc
20
 
4)echo
echo用来进行回显,是周知的事。上面也配合bc来进行计算。其实echo也可以单独进行简单的计算,如:
# echo $((3+5))
8
# echo $(((3+5)*2))
16
 
echo还可以进行变量的计算,如:
# a=10
# b=5
# echo $(($a+$b))
15
# echo $a+$b
10+5
# echo $a+$b |bc
15
 
//计算前天的日期
#  echo `date +%Y%m%d`
20090813
#  echo `date +%Y%m%d`-2
20090813-2
#  echo `date +%Y%m%d`-2 |bc
20090811
 
 
5)AWK
awk在处理文件的时,可以进行运算,那当然也可以单单用来计算了,如:
# awk 'BEGIN{a=3+2;print a}'
5
# awk 'BEGIN{a=(3+2)*2;print a}'
10

linux下的计算器的更多相关文章

  1. shell 命令 bc linux下的计算器

    bc命令 在linux环境下的计算器.

  2. 《linux下的计算器:bc用法入门篇》

    说起电脑上的计算器,可能所有人的印象都是这样的:

  3. Linux下的计算器(bc、expr、dc、echo、awk)知多少?

    linux 其他知识目录 原文链接:http://blog.chinaunix.net/uid-24673811-id-1760837.html linux下的三个命令可以用来作计算,下面一一讲解用法 ...

  4. Linux下的简单好用的计算器bc

    1. 关于bc bc是随意精度计算器语言,通常在linux下当计算器用,简单好用.相当于windows下的计算器. 2. 支持的运算符 主要的数学运算: + 加法 - 减法 * 乘法 / 除法 ^ 指 ...

  5. bc:linux下命令行计算器

    在linux下,存在一个命令行的计算器:bc.该程序一般随发行版发布. bc计算器能够执行一些基本的计算,包括+,-,×,\,%. 这些计算不经针对十进制,还可以使用二进制,八进制,十六进制,并且可以 ...

  6. 怎么实现Linux下的逆波兰计算器dc?

    #返回上一级 @Author: 张海拔 @Update: 2014-01-12 @Link: http://www.cnblogs.com/zhanghaiba/p/3516660.html /* * ...

  7. Linux下的实用工具——计算器bc

    Linux下的实用工具——计算器   1. bc指令算加法,如图: 4. bc指令算除法(进阶),如图示,10/3之所以为3,是因为我们没有指定小数点后取几位,默认取到整数部分:而10/100之所以为 ...

  8. linux命令行计算器 <转>

    转自 http://blog.chinaunix.net/uid-26959241-id-3207711.html 详细文档请 man bc 在windows下,大家都知道直接运行calc,(c:\w ...

  9. Linux下好用的简单实用命令

    1.你是否为在输入了一大串命令之后发现第一个字符打错了而苦恼?只能删除重来嘛?或者一步步左移光标? NO,一个组合键轻松搞定 Ctrl+A -----到命令行首 Ctrl+E ------到命令行末 ...

随机推荐

  1. 打印时报emSize必须大于0

    Value of '0' is not valid for 'emSize','emSize' should be greater than 0 and less than or equal to S ...

  2. C/C++基础----变量和基本类型

    变量和基本类型 不同平台下基本类型的字节数 类型 16位平台 32位平台 64位平台 char 1 1 1 short 2 2 2 int 2 4 4 long 4 4 8 long long / 8 ...

  3. R语言学习——输入与输出

    导入数据: grades<-read.table("D:/ProgramData/test1.txt",sep="\t") 求均值:mean() 求方差: ...

  4. POJ 1679 The Unique MST (次小生成树kruskal算法)

    The Unique MST 时间限制: 10 Sec  内存限制: 128 MB提交: 25  解决: 10[提交][状态][讨论版] 题目描述 Given a connected undirect ...

  5. ASP.NET Web Pages:目录

    ylbtech-.Net-ASP.NET Web Pages:目录 1. 官网返回顶部 1. https://www.asp.net/web-pages 2. https://msdn.microso ...

  6. ajax异步、同步问题,KindEditor ajax提交内容,ajax提交form表单 解决按两次的问题

    版权声明:本文为博主原创文章,未经博主允许不得转载. 如果ajax不采用异步,整个js代码在服务器返回结果前都将阻塞,alert方法除外 lookUp('lookUp','',100,300,3); ...

  7. 【Python编程:从入门到实践】chapter2 变量和简单数据类型

    2.1 运行2.2 变量 message = "hello" print(message) 2.2.1 变量的命名和使用 2.2.2 使用变量是避免命名错误2.3 字符串 “Hel ...

  8. ubuntu16.04安装python3,numpy,pandas等量化计算库

    ubunt安装python3 sudo add-apt-repository ppa:fkrull/deadsnakessudo apt-get updatesudo apt-get install ...

  9. 怎么爆加密过后的前端JS

    网站地址,保密,下面进入主题 页面元素和JS代码 无法看 用谷歌浏览器,选择器选中提交按钮,注意看界面元素源码 onclick="$('#submitForm').submit()" ...

  10. aix-syslog

    收集网络内路由器的日志信息,同时把本地日志信息与路由器信息分开. /etc/syslog.conf我写成: ## 本地日志处理 *.notice;*.err;*.warn<tab>;< ...