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] Lọc các dòng lỗi 5xx

    Cho access log, mã trạng thái HTTP là token thứ 9 (đếm từ 1, tách bởi khoảng trắng — đứng ngay trước số byte cuối dòng). Hãy in ra tất cả các dòng có mã trạng thái bắt đầu bằng 5 (lỗi 5xx), giữ nguyên thứ tự xuất hiện.

    Ví dụ

    Input:

    10.0.0.1 - - [t] "GET /a HTTP/1.1" 200 10
    10.0.0.2 - - [t] "GET /b HTTP/1.1" 500 20
    10.0.0.3 - - [t] "GET /c HTTP/1.1" 503 30
    

    Output:

    10.0.0.2 - - [t] "GET /b HTTP/1.1" 500 20
    10.0.0.3 - - [t] "GET /c HTTP/1.1" 503 30
    
    • Định dạng đầu vào:

      Nhiều dòng access log trên stdin, mỗi dòng có đúng 10 token; token thứ 9 là mã trạng thái 3 chữ số.

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

      0 ≤ số dòng ≤ 100000. Mã trạng thái gồm đúng 3 chữ số.

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

      In lại nguyên văn các dòng có mã 5xx theo thứ tự gốc. Không có dòng nào thì không in gì.

    Ví dụ:

    Đầu vào:

    10.0.0.1 - - [t] "GET /a HTTP/1.1" 200 10
    10.0.0.2 - - [t] "GET /b HTTP/1.1" 500 20
    10.0.0.3 - - [t] "GET /c HTTP/1.1" 503 30
    

    Đầu ra:

    Giải thích:

    Dòng 2 (500) và dòng 3 (503) có token thứ 9 bắt đầu bằng 5 nên được giữ lại theo thứ tự gốc.

    Đang tải editor...