知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

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

发布时间:2014-09-05 17:09:26作者:知识屋

0、准备和数据文件
比如有一个数据文件,只有一列(在之前可以通过各种手段过滤出只有数字这一列),比如操作的响应时间
Txt代码 
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

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜