【嵌入式开发 Linux 常用命令系列 7.3 -- linux 命令行数值计算】

文章目录

    • linux 命令行数值计算
      • 使用 awk
      • 使用 bc 命令
      • 使用 Bash 的内置算术扩展
      • 使用 expr
      • 脚本命令实现

linux 命令行数值计算

在 Linux 命令行中,您可以使用多种方法来执行基本的数学运算。以下是一些示例:

使用 awk

awk 是一个强大的文本处理工具,也可以用来执行数学运算。

# 加法 
awk 'BEGIN {print 5 + 3}' # 减法 
awk 'BEGIN {print 5 - 3}' # 乘法 
awk 'BEGIN {print 5 * 3}' # 除法 
awk 'BEGIN {print 10 / 3}' # 取模 
awk 'BEGIN {print 10 % 3}' 

使用 bc 命令

bc 是一个用于数学运算的语言和工具,它支持浮点数运算和更高级的数学函数。

# 加法 
echo "5 + 3" | bc # 减法 
echo "5 - 3" | bc # 乘法 
echo "5 * 3" | bc # 除法(获取浮点数结果) 
echo "scale=2; 10 / 3" | bc # 幂运算 
echo "4 ^ 2" | bc 

在这里,scale=2 设置了输出小数点后的精度为两位。

使用 Bash 的内置算术扩展

你可以使用 $((表达式)) 语法来执行数学运算。

# 加法 
echo $((5 + 3)) # 减法 
echo $((5 - 3)) # 乘法 
echo $((5 * 3)) # 除法 
echo $((10 / 2)) # 取模 
echo $((10 % 3)) 

使用 expr

expr 命令用于执行整数运算。注意,某些符号(比如星号 *)需要转义。

# 加法 
expr 5 + 3 # 减法 
expr 5 - 3 # 乘法(注意星号需要转义) 
expr 5 \* 3 # 除法 
expr 10 / 2 # 取模 
expr 10 % 3 

脚本命令实现

#!/bin/bashvalue=$2case $1 inB)echo "scale=2; $value Bytes" | bc;;K)echo "`echo "scale=2; $value / 1024" | bc` K";;M)echo "`echo "scale=2; $value / 1024 / 1024" | bc` M";;G)echo "`echo "scale=2; $value / 1024 / 1024 / 1024" | bc` G";;*)echo "scale=2; $1" | bc#return 0#exit 2;;
esac

效果如下
在这里插入图片描述

通过使用上述不同的方法,你可以在 Linux 命令行中轻松地进行基本的数学计算。对于更复杂的数学问题,bcawk 提供了丰富的功能来处理更高级的运算和数据处理任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/313931.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pngPackerGUI_V2.0是什么工具?

pngPackerGUI_V2.0是什么工具? png图片打包plist工具,手把手教你使用pngPackerGUI_V2.0此软件是在pngpacker_V1.1软件基础之后,开发的界面化操作软件,方便不太懂命令行的小白快捷上手使用。1.下载并解压缩软件,得到如…

2023/12/30 c++ work

定义一个Person类,私有成员int age,string &name,定义一个Stu类,包含私有成员double *score,写出两个类的构造函数、析构函数、拷贝构造和拷贝赋值函数,完成对Person的运算符重载(算术运算符、条件运算…

git的使用基础教程

最近项目在搞自动化测试,需要将各种测试脚本集成到自动化框架里边,这个就需要用到版本管理系统了,下面简单价绍一下git的使用。 首先从官网下载并安装git工具,下面以wins系统为例子说明 https://git-scm.com/downloads wins安装好后&#xff…

每日一题——LeetCode1002

方法一 个人方法: 将words里的字符串的每个字符出现的次数都转为键值对的形式: 循环求两两键值对数组的交集: 最后的交集就是重复出现的字符和次数,把键值对转回字符数组形式即可 思路对了,但是太复杂了&#xff0c…

[2024区块链开发入门指引] - 比特币与区块链诞生

一份为小白用户准备的免费区块链基础教程 工欲善其事,必先利其器 Web3开发中,各种工具、教程、社区、语言框架.。。。 种类繁多,是否有一个包罗万象的工具专注与Web3开发和相关资讯能毕其功于一役? 参见另一篇博文👉 2024最全面…

打造完备数据生态,「开放互信、合作共赢」: 拓数派亮相2023龙蜥操作系统大会

拓数派始终持「开放互信,合作共赢」的理念,通过积极建立合作伙伴生态网络、构建生态工具、打造活跃的技术和用户社区等方式,构筑更加完善的数据生态体系,为用户带来更加便捷的使用体验。2023年12月17-18日,由开放原子开…

2024年原创深度学习算法项目分享

原创深度学习算法项目分享,包括以下领域: 图像视频、文本分析、知识图谱、推荐系统、问答系统、强化学习、机器学习、多模态、系统界面、爬虫、增量学习等领域… 有需要的话,评论区私聊

【心得】PHP反序列化高级利用(phar|session)个人笔记

目录 ①phar反序列化 ②session反序列化 ①phar反序列化 phar 认为是java的jar包 calc.exe phar能干什么 多个php合并为独立压缩包,不解压就能执行里面的php文件,支持web服务器和命令行 phar协议 phar://xxx.phar $phar->setmetadata($h); m…

堆的应用:堆排序和TOP-K问题

上次才讲完堆的相关问题:二叉树顺序结构与堆的概念及性质(c语言实现堆 那今天就接着来进行堆的主要两方面的应用:堆排序和TOP-K问题 文章目录 1.堆排序1.1概念、思路及代码1.2改良代码(最初建立大堆用AdjustDow) 2. TO…

蓝桥杯一维前缀和 | 算法基础

⭐简单说两句⭐ ✨ 正在努力的小新~ 💖 超级爱分享,分享各种有趣干货! 👩‍💻 提供:模拟面试 | 简历诊断 | 独家简历模板 🌈 感谢关注,关注了你就是我的超级粉丝啦! &…

《MySQL系列-InnoDB引擎01》MySQL体系结构和存储引擎

文章目录 第一章 MySQL体系结构和存储引擎1 数据库和实例2 MySQL配置文件3 MySQL数据库路径4 MySQL体系结构5 MySQL存储引擎5.1 InnoDB存储引擎5.2 MyISAM存储引擎5.3 NDB存储引擎5.4 Memory存储引擎5.5 Archive存储引擎5.6 Federated存储引擎 6 连接MySQL6.1 TCP/IP6.2 命名管…

数据统计的一些专业术语学习

数据统计的一些专业术语学习 1. 极差2. 方差3. 标准差4. 均值绝对差 1. 极差 数据统计的极差,又称全距,是指一组数据中最大值和最小值之差。 举个例子,如果我们有一组数据:1,2,3,4&#xff0c…