• Linux 三剑客 at 2019年05月06日

    grep 测试题
    找出 nginx.log 中所有 404 和 503 报错的 log 数据,取出前 3 条数据,把命令贴到回复里

    方法1:cat nginx.log | grep -E -m3  'HTTP/1.1" 404|HTTP/1.1" 503'
    方法2:cat nginx.log | awk '$9==404||$9==503{print $0}' | head -3
    方法3:cat nginx.log | awk '{print $9}'| grep -E "404|503" | head -3
    

    找出 404 和 500 的数据,只打印状态码这一列,然后排序去重

    cat nginx.log | awk '$9~/404|500/{print $9}' | sort | uniq -c
    

    对所有 404 500 的数据,统计出现这种状态码的 url,需要对 url 汇总(汇总相似的 url,把相同的资源但是变化的 id 去掉)去重,打印前 5 个出问题的路径

    cat nginx.log | awk '$9~/404|500/{print $7}' | sed 's/[0-9]\{1,\}/*/g'|sort | uniq -c | sort -nr| head -5