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) аккуратно упорядочены, включая идентификатор пользователя.

Другие вопросы по тегам