zoukankan      html  css  js  c++  java
  • shell练习题6

    需求如下:

    有日志access.log,部分内容如下:

    127.0.0.1 - - [03/Jul/2018:00:00:01 +0800] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0"
    127.0.0.1 - - [03/Jul/2018:00:01:48 +0800] "GET /1.php HTTP/1.1" 200 19 "-" "curl/7.29.0"
    192.168.1.9 - - [04/Jul/2018:23:43:19 +0800] "GET / HTTP/1.1" 200 13 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
    192.168.1.9 - - [04/Jul/2018:23:43:19 +0800] "GET /favicon.ico HTTP/1.1" 404 571 "http://192.168.1.5/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
    192.168.1.9 - - [04/Jul/2018:23:45:30 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
    192.168.1.9 - - [04/Jul/2018:23:45:32 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
    192.168.1.9 - - [04/Jul/2018:23:45:33 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
    192.168.1.9 - - [04/Jul/2018:23:45:34 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
    192.168.1.9 - - [04/Jul/2018:23:45:35 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"

    编译出每个IP的访问量有多少?

    参考解答如下

    • 方法1
     cut -d ' ' -f 1 access.log | sort -n | uniq -c | sort -nr
    
    • 方法2
    # sort -n按数字方式排序
    # uniq -c前一定要先排序
    # sort  -nr 倒序
    awk '{print $1}' access.log | sort -n | uniq -c | sort -nr
    
    • 方法3
    awk '{ip[$1]++}END{for(i in ip){print i,ip[i]}}' access.log
    
  • 相关阅读:
    QT调用其他UI并使用QLabel(text)
    QT调用单例模式脚本
    QT 调用另一个UI实现方式
    QT 键值
    (一) Mybatis 源码解析之源码概述
    设计模式之 模板模式开发
    十二、线程池
    (十一)并发容器ConcurrentHashMap
    mybatis plus 踩坑记 -- 自动填充
    C/C++ file
  • 原文地址:https://www.cnblogs.com/minn/p/9824617.html
Copyright © 2011-2022 走看看