首页 Linux

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑
awk在其对数据分析并生成报告时,显得尤为强大。
简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
1、日均访问量(日志已做好切割)

awk '{print $1}' access.log | wc -l

image.png
2、统计今日前五个访问最多的ip地址

awk '{a[$1]++}END{for (i in a){print a[i]" "i;}}' access.log | sort -rn | head -n 5

image.png
3、统计当日前五个访问最多的URL

awk '{a[$11]++}END{for (i in a){print a[i]" "i;}}' access.log | sort -rn | head -n 5

image.png
4、统计当日的下载量以GB或MB形式表现出来两次除以1024是兆,三次除以1024是G

awk '{sum+=$10}END{print sum}' access.log

image.png
5、统计出当天的http状态码

awk '{a[$9]++}END{for (i in a){print a[i]" "i;}}' access.log | sort -rn

image.png
6、查看URL中的404(出问题的状态码文件不存在)状态码都有哪些网址

grep "\<404\>" access.log > 404

文章评论