统计日志文件中访问数量最多的10个IP地址:
cat access_log | awk '{print $1}' |sort -rn|uniq -c|sort -rn|head
awk '{state[$1]++}END{for(i in state){print state[i],i}}' access_log|sort -rn|head
注解
awk '{ print $1}':取数据的低1域(第1列)
sort:对IP部分进行排序。
uniq -c:统计的是连续重复的
sort -nr -k1:按照重复行出现的次序倒序排列,-k1以第一列为标准排序。
head:取排在前10位的IP。
PV和UV,一般都是说网站的 IDC机房
UV:指的就是客户端
IP: 指的是公网IP,举个例子:你和你的家人共同访问百度,IP数是1,UV数是2
PV: 是指页面点击量和浏览量
VV:以统计所有访客1天内访问的次数
统计PV 和UV
1.
根据访问IP统计UV
awk
'{print $1}'
access_log|sort
| uniq
-c |wc
-l
2.
统计访问URL统计PV
awk
'{print $7}'
access_log|wc
-l
3.
查询访问最频繁的URL
awk
'{print $7}'
access_log|sort
| uniq
-c |sort
-n -k 1 -r|more
4.
查询访问最频繁的IP
awk
'{print $1}'
access_log|sort
| uniq
-c |sort
-n -k 1 -r|head -1
Awk
默认以空格为分隔符,用-F选项去指定