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] Phân tích maillog: đếm mail theo trạng thái gửi

    Cho maillog Postfix chuẩn hoá, mỗi dòng có chứa trường status=XXX (vd status=sent, status=bounced, status=deferred). Hãy đếm số dòng theo giá trị status và in STATUS SỐ_LƯỢNG, giảm dần theo số lượng; hoà thì tăng dần theo STATUS (LC_ALL=C).

    Bỏ qua các dòng không chứa status=.

    Ví dụ

    Input:

    Jun 18 to=<a@x> status=sent (250 OK)
    Jun 18 to=<b@x> status=bounced (550)
    Jun 18 connect from host
    Jun 18 to=<c@x> status=sent (250 OK)
    

    Output:

    2 sent
    1 bounced
    
    • Định dạng đầu vào:

      Nhiều dòng maillog; một số dòng chứa status=GIÁTRỊ. Có thể rỗng.

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

      0 ≤ số dòng ≤ 100000. Giá trị status gồm chữ thường, kết thúc bởi khoảng trắng hoặc cuối dòng.

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

      Mỗi dòng SỐ_LƯỢNG STATUS, giảm dần theo số lượng, hoà thì tăng STATUS. Không có dòng status nào thì không in.

    Ví dụ:

    Đầu vào:

    Jun 18 to=<a@x> status=sent (250 OK)
    Jun 18 to=<b@x> status=bounced (550)
    Jun 18 connect from host
    Jun 18 to=<c@x> status=sent (250 OK)
    

    Đầu ra:

    2 sent
    1 bounced

    Giải thích:

    status=sent xuất hiện 2 lần, status=bounced 1 lần; dòng `connect from host` không có status nên bỏ qua.

    Đang tải editor...