在shell中做数值计算-创新互联
shell自带的计算符号只能计算整数
例如:
echo $[1+1]
echo $((1+2))
还有let命令,expr命令
但是都并不好用,只能进行整数的运算,如果要计算小数,可以使用bc命令工具
另外其实除了bc,还可以使用awk来进行数值计算,功能更加强大,而且方便,因为awk本身就是一门编程语言,主要用于对文本的处理,对数据的处理自然不在话下!
要想使用awk计算,建议使用BEGIN模式,熟悉awk的人知道awk的命令行语法是这样的:
awk [选项] ‘BEGIN{执行语句...}{执行语句...}END{执行语句...}’ 文本文件
在单引号里面的三个大括号并不是都要同时有的,都是可选的。
BEGIN后面的大括号跟的是预处理语句,在执行时,并没有读取文本数据,一般就是定义初始化变量用的;中间的大括号是真正在处理文本的语句,END后面的大括号是处理完所有语句的输出总结。
如果用来做数值计算,可以用BEGIN模式就可以了,这样不需要跟任何标准输入
例如:
awk 'BEGIN{print 1.2+2}'
awk 'BEGIN{print 100-50}'
awk 'BEGIN{print 1.2*2}'
awk 'BEGIN{print 100/50}'
awk 'BEGIN{print 2**2}'
awk 'BEGIN{print 3+2*1}'
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前标题:在shell中做数值计算-创新互联
当前路径:http://ybzwz.com/article/csccpj.html