awk求和、平均值、最大值与最小值

2024-04-13 05:08

本文主要是介绍awk求和、平均值、最大值与最小值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

统计最后耗时的平均值、求和、最小值与最大值
cat client.log文件

[test@GROUPC udp_test_client]$ cat client.log | grep 耗时 | more
2018-11-15 21:40:51.818  INFO 6031 --- [ool-1-thread-86] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 IDf752c4c6-f6cc-4997-a263-d4effc386eb3,耗时291
2018-11-15 21:40:51.819  INFO 6031 --- [ool-1-thread-86] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 ID2a048324-8a0d-4e00-a336-f844807c4484,耗时286
2018-11-15 21:40:51.819  INFO 6031 --- [ool-1-thread-87] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 ID76a87369-8b63-4163-90e8-4ff5c5b0fd8f,耗时294
2018-11-15 21:40:51.819  INFO 6031 --- [ool-1-thread-88] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 IDf726aa86-4777-44d2-8814-0098ae8ab2f9,耗时287
2018-11-15 21:40:51.819  INFO 6031 --- [ool-1-thread-87] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 ID5dde22d9-d9e2-43e6-b0d7-d3188c22c00a,耗时290
2018-11-15 21:40:51.819  INFO 6031 --- [ool-1-thread-88] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 ID918868b2-cfef-4e5a-8e5f-92322582bc61,耗时272
2018-11-15 21:40:51.819  INFO 6031 --- [ool-1-thread-87] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 ID7f7414a5-18ff-44e4-a7b7-632ef6484cb1,耗时283
2018-11-15 21:40:51.819  INFO 6031 --- [ool-1-thread-86] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 ID4214ee33-e8d1-40a2-9648-52f389dbf232,耗时281
2018-11-15 21:40:51.819  INFO 6031 --- [ool-1-thread-88] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 ID9dcfb42e-dfcd-4c8e-8ed2-0a309cb97b63,耗时269
2018-11-15 21:40:51.821  INFO 6031 --- [ool-1-thread-87] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 ID9e61cb7e-6495-4723-a9e5-89eafa9218c0,耗时268
2018-11-15 21:40:51.821  INFO 6031 --- [ool-1-thread-87] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 IDf455a85d-35fe-4d5b-9b72-b070967e7be0,耗时251
2018-11-15 21:40:51.821  INFO 6031 --- [ool-1-thread-88] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 IDdeab63ae-4f9e-4cab-978f-52f57706bd12,耗时253
2018-11-15 21:40:51.821  INFO 6031 --- [ool-1-thread-86] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 ID6b8621a3-db75-41aa-9b69-a6735a851a47,耗时266
2018-11-15 21:40:51.821  INFO 6031 --- [ool-1-thread-90] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 ID23b0879f-3a4d-47aa-9dda-94a4bbee56ca,耗时271
2018-11-15 21:40:51.821  INFO 6031 --- [ool-1-thread-89] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 IDeb11797b-9cf3-4a32-849d-b7902853e311,耗时271
2018-11-15 21:40:51.821  INFO 6031 --- [ool-1-thread-89] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 ID3742ad2a-9d9e-4077-8967-02af6e134edd,耗时260
2018-11-15 21:40:51.821  INFO 6031 --- [ool-1-thread-89] c.y.nj.exchange.driver.ExchangeReceiver  : #### 收到响应数据 ID83e2ccaf-9999-4807-8fd8-189b6f2c5d7d,耗时271

求和与平均值

cat client.log | grep 耗时 | awk '{print $NF}' | awk -F'耗时' '{sum+=$NF;count+=1} END{print "SUM="sum,"AVG="sum/count}'

求最小值

cat client.log | grep 耗时 | awk '{print $NF}' | awk -F'耗时' 'BEGIN {min = 9999999999}{if ($NF+0 < min+0) min=$NF} END {print "MIN="min}'

求最大值

cat client.log | grep 耗时 | awk '{print $NF}' | awk -F'耗时' 'BEGIN {max = 0}{if ($NF+0 > max+0) max=$NF} END {print "MAX="max}'

这篇关于awk求和、平均值、最大值与最小值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/899211

相关文章

RedHat运维-Linux文本操作基础-AWK进阶

你不用整理,跟着敲一遍,有个印象,然后把它保存到本地,以后要用再去看,如果有了新东西,你自个再添加。这是我参考牛客上的shell编程专项题,只不过换成了问答的方式而已。不用背,就算是我自己亲自敲,我现在好多也记不住。 1. 输出nowcoder.txt文件第5行的内容 2. 输出nowcoder.txt文件第6行的内容 3. 输出nowcoder.txt文件第7行的内容 4. 输出nowcode

算法8—不通过比较,找出两个数的最大值

问题: 比如:给定两个值 5和10,不通过比较,直接找出最大值。 分析: 一旦涉及到不用比较找最大值,想都不用想,一般只能通过位运算来实现。  max = a - ((a-b)&((a-b)>>31)) 或者 max = ((a+b)+|a-b|)/2 如果找最小值,我们只需把两个值相加,减去max即可。

leetcode刷题(43)——239. 滑动窗口最大值

给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值------------

根据序列:2/1,3/2,5/3,...生成前30项打印出并求和

根据斐波那契数列 def fab(max): def fib_loop_while(max):max = maxa, b = 0, 1while max &

前端算法题----三数求和问题

算法题讲解 真题描述: 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例1: 输入:nums = [-1,0,

【Python系列】探索 NumPy 中的 mean 函数:计算平均值的利器

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等常用开发工具系列:常用的开发工具,IDEA,M

awk经典

所有的编程书籍都是通过一个“Helloworld!”简单程序入门,作为借鉴,本文也采用此方法带大家入门。现在,在当前目录下建立一个文本文件hello.txt,内容如下: Helloworld! 在命令行中输入以下命令: $awk '{ print }'hello.txt 执行后hello.txt文件的内容显示在屏幕上。编写并且执行awk程序的方法很简单,如上所示,花括号内的是程序代码,后面

力扣907.子数组的最小值之和

力扣907.子数组的最小值之和 考虑每个数对答案的贡献 对于每个元素 找到左边界(严格小于) 右边界(小于等于) 这样出现重复元素也不会重复计算答案对于答案贡献为 arr[i] * (i - l) * (r - i) class Solution {const int MOD = 1e9+7;public:int sumSubarrayMins(vector<int>& arr) {in

高斯算法的原理及其与常规求和方法的区别

高斯算法的原理 高斯算法的原理源于数学家卡尔·弗里德里希·高斯在他少年时期发现的一种求和方法。当时老师让学生们计算1到100的和,高斯发现了一种快速计算的方法。 高斯注意到,如果将序列的首尾两数相加,结果总是相同的。例如: [ 1 + 100 = 101 ][ 2 + 99 = 101 ][ 3 + 98 = 101 ]... 这样,一共有50对数,每对数的和都是101。因此,1到

力扣SQL50 每月交易 I 求和 SUM(条件表达式) DATE_FORMAT(日期,指定日期格式)

Problem: 1193. 每月交易 I 👨‍🏫 参考题解 Code select DATE_FORMAT(trans_date, '%Y-%m') AS month,country,count(*) as trans_count,count(if(state = 'approved', 1, NULL)) as approved_count,sum(amount) as