linux – 用于最常见的IP地址bash脚本的Apache访问日志
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – 用于最常见的IP地址bash脚本的Apache访问日志,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1280字,纯文字阅读大概需要2分钟。
内容图文
![linux – 用于最常见的IP地址bash脚本的Apache访问日志](/upload/InfoBanner/zyjiaocheng/965/29c8ef8ad4724b33a37180c5893d7b36.jpg)
所以我在apache日志文件上运行一个bash脚本我可以对IP地址进行排序并显示最常见但是它显示在页面底部没有顶部如何从最高到最低显示它
到目前为止这是我的剧本
cat access_log.txt | awk '{print $1}'| uniq -c |sort -n -k 1| tail
在我的txt文件中我有
10.23.234.0
250.40.56.78
8.45.98.250
10.23.234.0
250.40.56.78
8.45.98.250
10.23.234.0
250.40.56.78
10.23.234.0
250.40.56.78
10.23.234.0
10.23.234.0
输出是
2 8.45.98.250
4 250.40.56.78
6 10.23.234.0
我希望输出
6 10.23.234.0
4 250.40.56.78
2 8.45.98.250
也希望这是打印出它旁边的DNS名称的最好方法
66.249.73.234 - - [12/Fegb/2013:12:00:09 +1100] "GET /java/tut/tut.sgml-065.html HTTP/1.1" 200 752 "-" "Mozilla/6.0 (compatible; Googlebot/2.1; +http://www.google.com.html)"
所以它会
66.249.73.234 - http://www.google.com.html
谢谢
解决方法:
你可以用这个:
awk '{a[$1]++} END {for (i in a) print a[i],i | "sort -rnk1"}' access_log.txt
5 10.23.234.0
4 250.40.56.78
2 8.45.98.250
1 10.23.234.0
要么
awk '{a[$1]++} END {for (i in a) print a[i],i}' access_log.txt | sort -rnk1
排序中的r是相反的
获取HTML数据
awk '{split($0,a,"http|[)]");print $1" - http"a[2]}' file
66.249.73.234 - http://www.google.com/bot.html
顶级打印DNS仅适用于前两个记录.
awk '{split($0,b,"http|[)]");a[$1" - http"b[2]]++} END {for (i in a) print a[i],i}' file | sort -rnk 1 | awk 'NR>2 {$0=$1FS$2} 1'
内容总结
以上是互联网集市为您收集整理的linux – 用于最常见的IP地址bash脚本的Apache访问日志全部内容,希望文章能够帮你解决linux – 用于最常见的IP地址bash脚本的Apache访问日志所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。