naturalCloud naturalCloud

记录精彩的程序人生

目录
面试题偶遇一
/  

面试题偶遇一

螺旋矩阵

 1
 2        $u =  $l = 0;
 3        $d = count($matrix) -1;
 4        $r = count($matrix[0]) -1;
 5        $result = [];
 6        while (true) {
 7            for ($i = $l;$i <= $r;++$i) {
 8                array_push($result,$matrix[$u][$i]);
 9            }
10            if(++ $u > $d) {
11                break;
12            }
13
14            for ($i = $u ;$i<= $d;++$i) {
15                array_push($result,$matrix[$i][$r]);
16            }
17            if(--$r < $l) break;
18
19            for ($i = $r; $i >= $l;--$i) {
20                array_push($result,$matrix[$d][$i]);
21            }
22
23            if(--$d < $u) break;
24
25            for ($i =$d ;$i>= $u;--$i) {
26                array_push($result,$matrix[$i][$l]);
27            }
28            if(++$l > $r) break;
29        }
30        
31        var_dump($result);
32

nginx 日志统计

统计最近 3 天 nginx 日志 responseCode 码 不等于 200 的数量 日志格式如下
127.0.0.0.1 - - [12/Nov/2019:00:00:27 +0800] "POST /2html HTTP/2.0" 200

1awk  '{print $4,$0}' access.log | grep --perl-regexp  "\[11/Nov/2019:[1-9][0-1]:" |awk '{print $10}'| grep -v 200 |wc -l

查找 7 月 14 日访问 log 导出到 19.log 文件中

1cat access.log | grep "17/Jul/2019" | sed -n '/00:00:00/,/23:59:59/p' > /home/17.log

查看访问量前 10 的 IP

1awk '{print $1}' 17.log | sort | uniq -c | sort -nr | head -n 10

查看访问前 10 的 URL

1awk '{print $11}' access.log | sort | uniq -c | sort -nr | head -n 10

查询访问最频繁的 URL

1awk '{print $7}' access.log | sort | uniq -c | sort -n -k 1 -r | more

查询访问最频繁的 IP

1awk '{print $1}' access.log | sort | uniq -c | sort -n -k 1 -r | more

根据访问 IP 统计 UV

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

统计访问 URL 统计 PV

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

根据时间段统计查看日志

1cat access.log | sed -n '/17\/Jul\/2017:12/,/17\/Jul\/2017:13/p' | more

标题:面试题偶遇一
作者:naturalCloud
地址:https://yunqiblog.cn/articles/2019/11/12/1573489835393.html