Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Hệ điều hành Unix] Dashboard tổng hợp access log

    Cho access log (token 1 = IP, token 9 = status 3 chữ số, token 10 = bytes là số hoặc -). Hãy in một bản tóm tắt 4 dòng đúng định dạng sau:

    Requests: <tổng số dòng>
    UniqueIP: <số IP duy nhất>
    Errors: <số dòng status 4xx hoặc 5xx>
    Bytes: <tổng bytes, coi - là 0>
    

    Mỗi dòng đúng nhãn như trên (có dấu hai chấm và một dấu cách). Luôn in đủ 4 dòng kể cả khi log rỗng (khi đó các giá trị là 0).

    Ví dụ

    Input:

    10.0.0.1 - - [t] "GET / HTTP/1.1" 200 100
    10.0.0.2 - - [t] "GET /x HTTP/1.1" 404 50
    10.0.0.1 - - [t] "GET / HTTP/1.1" 500 -
    

    Output:

    Requests: 3
    UniqueIP: 2
    Errors: 2
    Bytes: 150
    
    • Định dạng đầu vào:

      Nhiều dòng access log (token 1 IP, token 9 status, token 10 bytes). Có thể rỗng.

    • Ràng buộc đầu vào:

      0 ≤ số dòng ≤ 100000. Tổng bytes vừa 64-bit.

    • Định dạng đầu ra:

      Đúng 4 dòng: Requests:, UniqueIP:, Errors:, Bytes: theo thứ tự đó, mỗi nhãn theo sau dấu cách và giá trị.

    Ví dụ:

    Đầu vào:

    10.0.0.1 - - [t] "GET / HTTP/1.1" 200 100
    10.0.0.2 - - [t] "GET /x HTTP/1.1" 404 50
    10.0.0.1 - - [t] "GET / HTTP/1.1" 500 -
    

    Đầu ra:

    Requests: 3
    UniqueIP: 2
    Errors: 1
    Bytes: 0

    Giải thích:

    3 request, 2 IP duy nhất, 2 lỗi (404 và 500), tổng bytes 100+50+0=150.

    Đang tải editor...