读书人

Awk兑现求和、平均、最大值和最小值的

发布时间: 2012-07-23 09:42:19 作者: rapoo

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

0、准备和数据文件

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

4908981189235202121494270146515293692356356302722976127809168135516461885818977

?

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

读书人网 >操作系统

热点推荐