我找到了以下代码来查看哪些 IP 地址的点击率最高:
FILE=access.log; 对于 ip in
cat $FILE |cut -d ' ' -f 1 |sort |uniq
; 执行 { COUNT=grep ^$ip $FILE |wc -l
; 如果 [[ "$COUNT" -gt "500" ]]; 然后 echo "$COUNT: $ip"; fi }; 完成
上述代码显示点击次数超过500的IP地址(即通过打开URL访问网站)
但是该脚本太慢了。还有其他代码可以产生相同的输出吗?
另外,如何仅显示 URL 点击率或访问量最高的前 10 个结果?
答案1
你正在重新发明轮子。试试这个:
sed -e 's/\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\).*$/\1/' -e t -e d access.log | sort | uniq -c