Linux数学计算命令

自带的运算命令:expr

[[email protected] ~]# expr 1 + 5     加
6
[[email protected] ~]# expr 20 - 5    减
15
[[email protected] ~]# expr 20 \* 5   乘
100
[[email protected] ~]# expr 20 \/ 5   除
4
[[email protected] ~]# expr 22 \% 5   余
2
[[email protected] ~]# v1=10
[[email protected] ~]# v2=20
[[email protected] ~]# v3=`expr $v2 / $v1`
[[email protected] ~]# echo $v3
2
[[email protected] ~]# v1=$[1 + 5]
[[email protected] ~]# echo $v1
6

浮点计算:bc

安装bc

[[email protected] ~]# yum -y install bc.x86_64

[[email protected] ~]# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty‘. 
1.2 * 2.1    #计算1.2乘以2.1的结果
2.5
1.2 * 2.10
2.52
3 / 2
1
scale=4   //设置计算结果保留的小数位数,scale默认的值为0
3 / 2
1.5000
5 / 3
1.6666
[[email protected] ~]# bc -q  #-q屏蔽打开bc计算器时的软件说明
1.3 / 2
0
scale=4
1.3 / 2
.6500
2 / 1.5
1.3333

bc中引用赋值变量:

[[email protected] ~]# bc -q
scale=4
a1=2016
a1 * 20
40320
b1 = a1 / 365
print b1
5.5232
quit   #退出

在脚本中使用bc:

基本格式:variable(变量)=`echo "options;expression" |bc `
[[email protected] ~]# vim test.sh
#!/bin/bash
v1=`echo "scale=4; 3 / 2" | bc`
echo v1=$v1

[[email protected] ~]# sh test.sh 
v1=1.5000
[[email protected] ~]# vim test.sh
#!/bin/bash
v1=2016
v2=365
v3=`echo "scale=4; $v1 / $v2" | bc`
echo v3=$v3

[[email protected] ~]# sh test.sh 
v3=5.5232
[[email protected] ~]# cat test.sh
#!/bin/bash
v1=2016
v2=365
v3=`echo "scale=4; $v1 / $v2" | bc`
v4=`echo "scale=4; $v3 * $v2" | bc`
echo v4=$v4

[[email protected] ~]# sh test.sh 
v4=2015.9680

bc内联输入重定向:

[[email protected] ~]# cat test.sh
#!/bin/bash
v1=2016
v2=365
v3=10
v4=5000
v5=`bc << EOF
scale = 4
a1 = ( $v4 / $v2 )
a2 = ( $v3 * $v2 )
a1 + a2
EOF
`
echo v5=$v5

[[email protected] ~]# sh test.sh 
v5=3663.6986
时间: 2024-08-15 09:12:19

Linux数学计算命令的相关文章

Linux下的计算命令整理

在Linux系统下,经常会有一些计算需求,那么下面就简单梳理下几个常用到的计算命令 (1)bc命令bc命令是一种支持任意精度的交互执行的计算器语言.bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算,当然整数运算也不再话下常用参数选项:-i:强制进入交互式模式: -l:定义使用的标准数学库: -w:对POSIX bc的扩展给出警告信息: -q:不打印正常的GNU bc环境信息: -v:显示指令版本信息: -h:显示指令的帮助信息. 在bc工作环境下,可以

Linux编程 22 shell编程(输出和输入重定向,管道,数学运算命令,退出脚本状态码)

1. 输出重定向 最基本的重定向是将命令的输出发送到一个文件中.在bash shell中用大于号(>) ,格式如下:command > inputfile.例如:将date命令的输出内容,保存到指定的输出文件中. 如果文件已存在,重定向操作符会用新的文件数据覆盖已有文件.这种情况下可以用双大于号(>>) 来追加数据.如下图所示: 2. 输入重定向 输入重定向和输出重定向正好相反.输入重定向是将文件的内容重定向到命令,而非将命令的输出重定向到文件. 输入重定向符号是小于号(<)

[fw]Linux系统使用time计算命令执行的时间

Linux系统使用time计算命令执行的时间 当测试一个程序或比较不同算法时,执行时间是非常重要的,一个好的算法应该是用时最短的.所有类UNIX系统都包含time命令,使用这个命令可以统计时间消耗.例如: [[email protected] ~]# time ls anaconda-ks.cfg install.log install.log.syslog satools text real 0m0.009s user 0m0.002s sys 0m0.007s 输出的信息分别显示了该命令所花

linux计算命令

1.打开putty,输入: source /opt/software/impi/mpivars.sh  (注意:只有source后边是有空格,其他的没有空格) mpirun -np 4 lmp_mpi < elastic.in >  elastic.out &(计算文件名,如:mmt422.in)   (4代表4核,也可以选择8,10等) 其中,<:输入     >:输出         &:放到后台计算 top: 进入后台,q :退出来 ctrl +C  停止计算

[笔记]shell编程:数学计算

在shell Script中,有好几种进行数学运算的方法,虽然有几个效果差不多,在编写程序的时候使用一种方法就够了,但是我们可能还需要学习别人的程序啊,在阅读别人的程序的时候不能不认识这些东西吧.所以,留个笔记. 一.expr 命令  --  expr 允许在命令行上处理数学表达式,但是略显拙劣. 例:$ expr 1 + 5    #注意在表达式中要有空格,如果写成1+5那么结果就不是我们想要的了. expr命令能够识别一些不同的数学和字符串操作符: 操作符 描述 arg1 | arg2 如果

Linux下awk命令详解

grep 或 egrep 或awk 过滤两个或多个关键词: grep -E '123|abc' filename // 找出文件(filename)中包含123或者包含abc的行 egrep '123|abc' filename //用egrep同样可以实现 awk '/123|abc/' filename // awk 的实现方式 假如某个广告点击数据记录在文件里面,文件中每一行数据由'时间','uid'两个字段组成,要求每分钟统计某个uid带来的点击量并计入数据库,可以用shell来实现该功

Linux Shell:Linux系统信息查看命令大全

来源:Linux社区  作者:cnsanshao 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 资源 # free -m # 查看内存使用量和交换区

嵌入式Linux GCC常用命令

本文和大家分享的主要是嵌入式Linux GCC常用命令相关内容,一起来看看吧,希望对大家学习嵌入式Linux有所帮助. 1.简介 GCC 的意思也只是 GNU C Compiler 而已.经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言:它现在还支持 Ada 语言.C++ 语言.Java 语言.Objective C 语言.Pascal 语言.COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等.而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了 

linux date 常用命令以及时间戳转换

linux 中date命令主要应用于时间计算以及日志时间格式设置. date +"%T"直接显示时间 t 为跳格 [[email protected] ~]# date +"%T" 14:00:08 [[email protected] ~]# date +"%t" [[email protected] ~]# date + "%D" [[email protected] ~]# date +"%D" 08