Awk实现求和、平均、最大值和最小值的计算操作

本文介绍使用Shell脚本对单一列数据文件进行基本统计分析的方法,包括求和、求平均值、查找最大及最小值,并展示如何获取访问次数最多的前10项资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0、准备和数据文件

比如有一个数据文件,只有一列(在之前可以通过各种手段过滤出只有数字这一列),比如操作的响应时间

490898
1189235
20212
1494270
146515
29369
23563
563027
22976
127809
16813
551646
18858
18977

 

1、求和

cat data|awk '{sum+=$1} END {print "Sum = ", sum}' 

 

2、求平均
cat data|awk '{sum+=$1} END {print "Average = ", sum/NR}' 

 

3、求最大值
cat data|awk 'BEGIN {max = 0} {if ($1>max) max=$1 fi} END {print "Max=", max}'

 

4、求最小值(min的初始值设置一个超大数即可)
awk 'BEGIN {min = 1999999} {if ($1<min) min=$1 fi} END {print "Min=", min}'

 

5、求访问次数的Top 10 Resource,可以根据此进行优化

cat output/logs/cookie_logs/`date +%u`/cookie_log|grep -v '172.16'|grep -v '127.0.0.1' |awk -F' '  '{ if(index($1,"219.141.246")!=0) print $2; else print $1  } '|sort|uniq -c|sort -n |tail -n 10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值