假设日志为:
xxx.xxx.xxx.xxx - admin1 [10/Jan/2022:15:10:51 +0800] “GET /abc?p=tttt02%2FmybatisDemo.git;a=shortlog;h=refs%2Fheads%2Fbranchdiff-001;pg=0 HTTP/1.1” 302 138 “-“ “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36”
1)统计有哪些ip访问了/login
# cat access.log|awk '{if ( $7 == "/login" ) {print $1}}'|sort|uniq
111.22.2.185
111.22.2.49
111.22.5.38
111.22.17.154
2)统计一级url的访问次数
# cat access.log|awk '{print $7}'|awk -F '?' '{print $1}'|awk -F '/' '{print $1"/"$2}'|sort|uniq -c|sort -n
1 /t
1 /tood
1 /toos
7 /tools
8 /aaa
3)查看某个url的日志
cat access.log|awk '{if ( $7 == "/login" ) {print $0}}'
附注:
uniq -c,去重并统计数量
sort -n,按数字排序