awk sed

awk實現求和、平均、最大值和最小值的計算操做cookie

2011-07-27      0 個評論      ide

收藏    我要投稿優化

0、準備和數據文件
好比有一個數據文件,只有一列(在以前能夠經過各類手段過濾出只有數字這一列),好比操做的響應時間
Txt代碼 
490898 
1189235 
20212 
1494270 
146515 
29369 
23563 
563027 
22976 
127809 
16813 
551646 
18858 
18977 
 
一、求和
cat data|awk '{sum+=$1} END {print "Sum = ", sum}'
 
二、求平均
cat data|awk '{sum+=$1} END {print "Average = ", sum/NR}'
 
三、求最大值
cat data|awk 'BEGIN {max = 0} {if ($1>max) max=$1 fi} END {print "Max=", max}'
 
四、求最小值(min的初始值設置一個超大數便可)
awk 'BEGIN {min = 1999999} {if ($1<min) min=$1 fi} END {print "Min=", min}'
 
五、求訪問次數的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 10it

相關文章
相關標籤/搜索