shell 统计访问日志
最近遇到一个需求,统计web 应用服务器日志里每个ip的访问次数。
数据格式
ip time pathip time pathip time path
还是想了很久终于写了出来
#!/bin/bash#this is a ip countgawk '{print $1}' ipdata| sort -u| while read linedocount=`grep -c $line ipdata`echo $line $countdone
解释
gawk '{print $1}' 只取第一列
| sort -u 管道传过来去重
| while read line 管道传过来读文件
count=`grep -c $line ipdata` grep ip的查询数量
echo $line $count 输出结果
输出结果
[root@CentOS bin]# countip1127.0.0.1 2127.0.0.2 1127.0.0.3 1
还没有对ip 数量的结果进行排序,如果需要的话,就只能进行文件重定向,再排一次序才行。