Linux - Как составить список всех пользователей
Как написать скрипт для linux, в котором перечислены все пользователи из /etc/passwd и их UID
User1 uid=0001
User2 uid=0002
...
скрипт должен использовать: grep, cut, id, для
4 ответа
awk -F: '$0=$1 " uid="$3' /etc/passwd
awk проще в этом случае.
-F определяет разделитель полей как :
так что вы хотите, это 1-й и 3-й столбцы. так что строить $0
предоставить свой выходной формат.
это очень простое использование мощного awk. Вы можете прочитать некоторые учебные пособия, если часто сталкивались с подобной проблемой.
На этот раз у тебя есть рыба, на твоем месте я собираюсь провести исследование о том, как ловить рыбу.
cut
хорошо для этого:
cut -d: -f1 /etc/passwd
Это значит "вырезать, используя :
в качестве разделителя, все, кроме первого поля из каждой строки /etc/passwd
файл".
Я думаю, что лучший вариант таков: grep "/bin/bash" /etc/passwd | cut -d':' -f1
awk -F':' '$3>999 {print $1 " uid: " $3}' /etc/passwd | column -t | grep -v nobody
Дает вам все обычные пользователи (uid >= 1000) аккуратно упорядочены, включая идентификатор пользователя.