king

(总结)统计Apache或Nginx访问日志里的独立IP访问数量的Shell

king linux 2023-01-25 429浏览 0

1、把IP数量直接输出显示:
cat access_log_2011_06_26.log |awk '{print $1}'|uniq -c|wc -l

2、把IP数量输出到文本显示:
cat access_log_2011_06_26.log |awk '{print $1}'|uniq -c|wc -l > ip.txt

上面的方法是统计出日志里面所有IP的总数,如果你想去除重复的IP,并查看每个IP在次日志中背记录的次数,可以用如下方法:

egrep -o "(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])" access.log  |  sort | uniq -c | sort -nr > ip.txt

egrep -o是只显示正则匹配的部分。
sort是排序
uniq -c是显示重复的次数

但这种放吧比较占服务器的硬件资源,请慎用

继续浏览有关 LINUX技术 的文章
发表评论