[转帖]如何通过shell脚本对一个文件中的所有数值相加并求和

如何,通过,shell,脚本,一个,文件,所有,数值,相加,求和 · 浏览次数 : 0

小编点评

**步骤:** 1. **获取文件内容:**使用 `cat` 命令获取文件 `bbb.txt` 的内容。 2. **将所有数值转换为字符串:**使用 `echo -n` 命令将所有数值转换为字符串,并在 `tr` 命令中进行处理。 3. **进行字符替换:**使用 `tr` 命令在所有数值中替换空格符 ` '` 之间的空格符 `+`。 4. **处理替换后的字符串:**使用 `bc` 命令进行字符串处理,将所有数值相加,并将结果输出。 **最终代码:** ```bash cat bbb.txt | xargs echo -n | tr ' ' '+' | xargs echo | bc.39 ``` **示例:** `bbb.txt` 文件中包含以下数值: ``` 120 130 142 ``` 执行上述命令,将返回以下结果: ``` 360 ``` **说明:** * `xargs` 命令允许您同时运行多个命令。 * `echo -n` 命令将所有数值保持在字符串中,并在 `tr` 命令中进行处理。 * `tr` 命令用于在所有数值中替换空格符 ` '` 之间的空格符 `+`。 * `bc` 命令用于进行字符串处理,并对相加的结果进行处理。

正文

https://developer.aliyun.com/article/886170?spm=a2c6h.24874632.expert-profile.255.7c46cfe9h5DxWK

 

1.背景

在一些巡检脚本中有时通常需要把一个文件中的数值进行相加得出综合,由于是文件中的所有数值,因此不能通过常规的求值方法进行计算

2.案例

下面通过我自己研究的命令格式来计算出一个文件中的所有值相加

 

实现思路:用到的命令cat echo xargs tr bc

首先可以通过cat命令获取文件中的数值,在通过echo -n命令将所有数值写成1行,然后通过tr命令进行字符替换,把空格换成+号,由于bc命令的格式要求,因此再把刚刚替换好的字符进行输出,最后交由bc进行处理

例子:

1.写一个文件,里面全是数值
cat bbb.txt 
0.12
0.13
0.14

2. cat bbb.txt |xargs echo -n | tr ' ' '+'  | xargs echo | bc
.39

与[转帖]如何通过shell脚本对一个文件中的所有数值相加并求和相似的内容:

[转帖]如何通过shell脚本对一个文件中的所有数值相加并求和

https://developer.aliyun.com/article/886170?spm=a2c6h.24874632.expert-profile.255.7c46cfe9h5DxWK 1.背景 在一些巡检脚本中有时通常需要把一个文件中的数值进行相加得出综合,由于是文件中的所有数值,因此不能

[转帖]Shell 标准输入和输出

https://my.oschina.net/jiagoushi/blog/5609783 无论是要交给程序处理的数据,还是控制脚本的简单命令,都少不了输入和输出。程序要做的第一件事就是处理如同一阴一阳的 “输入与输出”。 1 、从文件获取输入 当我们希望向文件输出内容时,我们可以通过符号 > 或

[转帖]Linux平台shell脚本输入密码,不显示明文

需求:shell脚本中输入密码,要求不显示明文,需要将其转换为“*”星号,或者不显示 实现方案:有两种实现方案,一是通过stty命令来实现,二是直接使用read来实现 方案一:使用stty来实现 使用stty -echo可以实现不显示密码,就像登录Linux系统输入密码时一样,stty的代码如下:

[转帖]在KingbaseES数据库中批量创建数据库/表

1. 问题 如何在KingbaseES中批量创建表和库? 2. 通过shell脚本文件实现 有时候我们在进行测试的时候需要进行批量的建库以及建表,这时我们可以使用shell脚本实现或者是SQL实现,shell脚本实现时内容如下: user=system #用于配置数据库的用户名 port=54587

[转帖]如何通过JMeter测试金仓数据库KingbaseES并搭建环境

1.安装JMeter Apache JMeter是Apache组织开发的基于Java的压力测试工具,主要用于对软件的压力测试,它最初被设计用于Web应用测试,但后来扩展到其它测试领域。它可测试静态、动态资源,如静态文件、Java小服务程序、CGI脚本、Java对象、数据库等等。JMeter可以用于对

[转帖]如何通过dba_hist_active_sess_history分析数据库历史性能问题

https://www.cnblogs.com/DataArt/p/10018932.html 在数据库运行的过程中,我们有时会碰到数据库hung住的问题,在这个时候很多人会选择尽快让它恢复正常而不是找出问题的root cause. 只有在问题被解决后,才意识到需要找到root cause来避免再次

[转帖]Elasticsearch 技术分析(五):如何通过SQL查询Elasticsearch

https://www.cnblogs.com/jajian/p/10053504.html 前言# 这篇博文本来是想放在全系列的大概第五、六篇的时候再讲的,毕竟查询是在索引创建、索引文档数据生成和一些基本概念介绍完之后才需要的。当前面的一些知识概念全都讲解完之后再讲解查询是最好的,但是最近公司项目

[转帖]如何使用手表作为指南针(以北半球为例)

https://www.citizenwatch-global.com/support/exterior/direction_sc.html 通过对比时针与太阳的位置可确定大致方位。要注意这样确定的方位是大致上的,因为在不同纬度和不同季节会有一些差异。将手表平放并将手表的时针指向太阳方向。则时针指向

[转帖]如何在 Linux 中使用 SCP 安全地传输文件

https://linux.cn/article-15377-1.html 在网络上文件传输可以通过各种不同的方式和协议来完成。远程复制文件最常用的协议是 Rsync、SCP 和 SFTP。在本文中,我们将了解什么是 SCP 以及如何在 Linux 和类 Unix 操作系统中使用 SCP 在本地和远

[转帖]如何应对变慢的Redis-波动的响应延迟

Redis突然变慢了,如何排查呢 文章目录 问题认定应对方案Redis自身操作特性慢查询命令过期key操作 文件系统AOF解决方案 操作系统Swap内存大页 CheckList 问题认定 如何判断Redis是不是真的变慢了?通过Redis的响应延迟 大部分时候,Redis延迟很低,某些时刻,Redi