gerp-awk-sedLinux文本处理三剑客 grep-awk-sed 简单使用

nginx日志:

不支持在 Docs 外粘贴 block
143.110.226.75 - - [17/Feb/2021:03:15:11 +0800] “POST /GponForm/diag_Form?style/ HTTP/1.1” 404 169 “-“ “curl/7.3.2” “-“
#IP地址 - - [时间日期] “http请求方法 /路径 协议版本 返回码
场景1
查看PV(访问量)
awk ‘{print $1}’ access.log|sort|wc -l
场景2
查看日PV
awk ‘{print substr($4,2,11)}’ access.log|sort|uniq -c
场景3
查询UV(独立访客)
awk ‘{print $1}’ access.log|sort|uniq -c|wc -l
场景4
查询日UV量
awk ‘{print substr($4,2,11) “ “ $1}’ access.log|sort|uniq|awk ‘{zcm[$1]++;next}END{ for (ip in zcm) print ip,zcm[ip]}’
场景5
查询访问最频繁的URL
awk ‘{print $7}’ access.log|sort|uniq -c
场景6
查询访问量最大的IP频繁访问的URL
#查询访问量最大的IP
awk ‘{print $1}’ access.log|sort|uniq -c|sort -n
#查询访问的最大IP频繁访问的URL
grep ‘116.230.177.159’ access.log|awk ‘{print $7}’|sort|uniq -c|sort -nx
场景7
查询1-9点IP的访问个数
grep ‘2020:0[1-9]’ access.log |awk ‘{ips[$1]+=1}END{for (ip in ips) ips[ip],ip}’|sort|wc -l
场景8
查询1-9点IP访问超过10次的IP
grep ‘2020:0[1-9]’ access.log |awk ‘{ips[$1]+=1}END{for (ip in ips) if (ips[ip]>=10) ips[ip],ip}’|sort -n