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: home bất thường của user thường

    Trong /etc/passwd: trường 3 là UID, trường 6 là thư mục home. Với user thường (UID ≥ 1000), home chuẩn phải bắt đầu bằng tiền tố /home/.

    Đọc từ stdin, in ra tên đăng nhập (trường 1) của những user có UID ≥ 1000 nhưng home KHÔNG bắt đầu bằng /home/. Kết quả sắp xếp tăng dần (LC_ALL=C).

    Ví dụ:

    Input:

    alice:x:1000:1000:Alice:/home/alice:/bin/bash
    weird:x:1001:1001:Weird:/opt/weird:/bin/bash
    root:x:0:0:root:/root:/bin/bash
    

    Output:

    weird
    
    • Định dạng đầu vào:

      Nhiều dòng /etc/passwd.

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

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

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

      Tên user có UID ≥ 1000 và home không bắt đầu /home/, sắp xếp tăng dần (LC_ALL=C).

    Ví dụ:

    Đầu vào:

    alice:x:1000:1000:Alice:/home/alice:/bin/bash
    weird:x:1001:1001:Weird:/opt/weird:/bin/bash
    root:x:0:0:root:/root:/bin/bash
    

    Đầu ra:

    weird

    Giải thích:

    weird có UID 1001 và home `/opt/weird` không thuộc `/home/` nên được in; alice hợp lệ, root UID 0 bị loại.

    Đang tải editor...