按要求找出需要的数据
编写一个函数 find_error_log(),找出log中的404和500的报错
find_error_log(){
your code here
}
## 找出访问量最高的ip,统计分析,取出top3
[jck287213@shell.ceshiren.com tless nginx.log | awk ‘{print $1}’|sort|uniq -c|sort -k 1 -nr|head -3
282 216.244.66.241
130 136.243.151.90
110 127.0.0.1
## 日志数据检索
找出 log 中的 404 500 的报错 考察严谨性,某次训练没有一人做对
[jck287213@shell.ceshiren.com tmp]$ grep -E ’ 404 | 500 ’ nginx.log |less(可能存在误报)
![|554x360](file:///C:\Users\86159\AppData\Local\Temp\ksohtml11824\wps1.jpg)
[jck287213@shell.ceshiren.com tmp]$ less nginx.log | grep -E " 404 | 500 "(可能存在误报)
![|554x270](file:///C:\Users\86159\AppData\Local\Temp\ksohtml11824\wps2.jpg)
[jck287213@shell.ceshiren.com tmp]$ less nginx.log | grep -E '" 404 | 500 '(带标记)
![|554x269](file:///C:\Users\86159\AppData\Local\Temp\ksohtml11824\wps3.jpg)
1、整行匹配
[jck287213@shell.ceshiren.com tmp]$ less nginx.log | grep -E ‘(" 400 |" 500 )’ |grep 500
![|554x46](file:///C:\Users\86159\AppData\Local\Temp\ksohtml11824\wps4.jpg)
单个字段匹配
[jck287213@shell.ceshiren.com tmp]$ less nginx.log | awk ‘$9~/404|500/{print $0}’|grep 500
![|554x48](file:///C:\Users\86159\AppData\Local\Temp\ksohtml11824\wps5.jpg)
[jck287213@shell.ceshiren.com tmp]$ less nginx.log | awk ‘$9~/404|500/’|grep 500
![|553x41](file:///C:\Users\86159\AppData\Local\Temp\ksohtml11824\wps6.jpg)
3、找出404或者500的行
[jck287213@shell.ceshiren.com tmp]$ less nginx.log | awk ‘$9==404 || $9==500’|grep 500
139.180.132.174 - - [05/Dec/2018:00:09:12 +0000] “GET /zep/js.zip HTTP/1.1” 500 2183 “-” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36” 0.018 0.018 .
## 上下文检索
找出 500 错误时候的上下文 考察 grep 高级用法
[jck287213@shell.ceshiren.com tmp]$ less nginx.log | grep -C1 " 500 "
![|554x92](file:///C:\Users\86159\AppData\Local\Temp\ksohtml11824\wps7.jpg)
[jck287213@shell.ceshiren.com tmp]$ less nginx.log | grep -C2 " 500 "
![|554x161](file:///C:\Users\86159\AppData\Local\Temp\ksohtml11824\wps8.jpg)
## 日志数据统计
找出访问量最高的 ip 统计分析
[jck287213@shell.ceshiren.com tmp]$ less nginx.log | awk ‘{print $1}’|sort|uniq -c|sort -k 1 -nr|head
![|553x136](file:///C:\Users\86159\AppData\Local\Temp\ksohtml11824\wps9.jpg)
## 数据文件修改
找出访问量最高的页面地址 借助于 sed 的统计分析
Awk pattern语法
awk ‘BEGIN{}END{}’ 开始与结束
awk ‘/Running/’ 匹配正则
awk ‘/aa/,/bb/’ 区间选择
awk ‘$2~/xxx/’ 字段匹配
awk ‘NR==2’ 取第二行
awk ‘NR>1’ 去掉第一行
![|297x266](file:///C:\Users\86159\AppData\Local\Temp\ksohtml11824\wps10.jpg)