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] passwd: gom nhóm user theo GID chính

    Trong /etc/passwd, trường 4 là GID chính của user, trường 1 là tên.

    Đọc từ stdin, gom các user theo GID. In ra mỗi GID trên một dòng theo định dạng:

    <gid>: u1,u2,u3
    

    trong đó danh sách user sắp xếp tăng dần (LC_ALL=C) và nối bằng dấu phẩy (không có khoảng trắng quanh phẩy). Các dòng kết quả sắp xếp tăng dần theo GID (số học).

    Ví dụ:

    Input:

    root:x:0:0:root:/root:/bin/bash
    alice:x:1000:1000:Alice:/home/alice:/bin/bash
    bob:x:1001:1000:Bob:/home/bob:/bin/bash
    

    Output:

    0: root
    1000: alice,bob
    
    • Định dạng đầu vào:

      Nhiều dòng định dạng /etc/passwd.

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

      0 ≤ GID ≤ 65535. 1 ≤ số dòng ≤ 1000.

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

      Mỗi GID một dòng gid: <user1,user2,...>, user sort tăng dần, dòng sort theo GID số học.

    Ví dụ:

    Đầu vào:

    root:x:0:0:root:/root:/bin/bash
    alice:x:1000:1000:Alice:/home/alice:/bin/bash
    bob:x:1001:1000:Bob:/home/bob:/bin/bash
    

    Đầu ra:

    0: root
    1000: alice,bob

    Giải thích:

    GID 0 chỉ có root; GID 1000 có alice và bob (sort ABC); dòng sắp theo GID số học 0 rồi 1000.

    Đang tải editor...