日志格式是分隔符是空格 ip - - 時間 xx url xx xx 狀態碼 …………
61.150.114.19x - - [09/Sep/2015:10:30:00 +0800] "GET htxp://wg43 HTTP/1.1" 206 4194767 "-" "MOBILE" 7194 21x.145.171.23 TCP_HIT NONE
219.1x5.171.23 TCP_HIT NONE
60.161.186.12x - - [09/Sep/2015:10:30:00 +0800] "GET hxtp://wgdcdn.intid=3859992-44 HTTP/1.1" 200 20277911 "-" "-" 21122 219.1x5.171.23 TCP_HIT NONE
現在需要統計每五分鐘的記錄數,像上面發的兩條記錄,也就是10:30分的時候有兩條這樣的記錄,日志檔案很大,寫一個指令來統計每五分鐘有多少條這樣的記錄(即訪問請求數)
ps:我的一個思路是每個小時中的分鐘數除于五,但是也還沒想清楚寫不出來
對時間的分割方法我寫好了 split($4,a,/[/:]/) a[4]是小時數,a[5]是分鐘數,
每分鐘的訪問數陳述句:awk '{split($4,a,/[/:]/);b[a[5]]++}END{for(i in b)print i,b[i]}' test6.txt
每五分鐘的我是真沒想清楚求解答 !
uj5u.com熱心網友回復:
求助啊。。有人嗎uj5u.com熱心網友回復:
每分鐘都會了,每5分鐘不是很簡單,直接分鐘欄位除了5uj5u.com熱心網友回復:
好像沒那么簡單啊,每個小時都要重置一次,里面的寫法應該挺復雜的T T
uj5u.com熱心網友回復:
每分鐘訪問次數
cat aa |awk '{if ($2!~/^work/) {split($2,a,":");str=a[1]":"a[2]; b[str]++}}END{for(i in b) print i,b[i]}'
每五分鐘訪問數
cat aa| awk '{if ($2!~/^work/) {split($2,a,":");a[2]=int(a[2]/5)*5;str=a[1]":"a[2]; b[str]++}}END{for(i in b) print i,b[i]}'
uj5u.com熱心網友回復:
cat aa| awk '{if ($2!~/^work/) {split($2,a,":");a[2]=int(a[2]/5)*5;str=a[1]":"a[2]; b[str]++}}END{for(i in b) print i,b[i]}'轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/32745.html
標籤:UNIX文化
上一篇:撰寫一個Shell程式,完成從檔案datalist中讀入一組整數(以 -999結束)。
下一篇:【求助】linux引導問題
