如何修改Apache日志IP统计命令以仅输出按访问量排序的IP
修改Apache访问日志命令,只输出按访问次数排序的IP列表
很简单,只需要在你的现有命令末尾添加一步,用awk '{print $2}'把多余的访问次数列去掉就可以了!
修改后的完整命令如下:
cat access_log | awk '{print $1}' | sort | uniq -c | sort -nr | head -200 | awk '{print $2}' > output.txt
简单解释一下:
- 原命令中
uniq -c的输出格式是「访问次数 IP地址」,第一列是次数,第二列是我们需要的IP; - 最后加上的
awk '{print $2}'会提取每一行的第二列内容,也就是只保留IP地址; - 整个流程依然会按访问次数从高到低排序,取前200个IP,最终写入
output.txt文件。
(另外提一句:原命令里的sort -n其实可以改成普通的sort,因为IP地址用数字排序并没有特别的意义,不过不修改也不会影响最终结果~)
内容的提问来源于stack exchange,提问作者sd100
相关产品推荐
相关产品推荐

