Как написать скрипт для Linux, в котором перечислены все пользователи из /etc/passwd и их UID
User1 uid=0001
User2 uid=0002
...
сценарий должен использовать: grep, cut, id, для
Как написать скрипт для Linux, в котором перечислены все пользователи из /etc/passwd и их UID
User1 uid=0001
User2 uid=0002
...
сценарий должен использовать: grep, cut, id, для
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), аккуратно упорядоченных, включая идентификатор пользователя.