web-dev-qa-db-fra.com

Linux - Comment lister tous les utilisateurs

Comment écrire un script pour Linux qui liste tous les utilisateurs de/etc/passwd et leur UID

User1 uid=0001
User2 uid=0002

...

le script doit utiliser: grep, cut, id, pour 

9
Tadeusz Majkowski
awk -F: '$0=$1 " uid="$3' /etc/passwd

awk est plus facile dans ce cas. 

-F définit le séparateur de champ comme :

si vous voulez est 1ère et 3ème colonnes. alors construisez le $0 pour fournir votre format de sortie. 

c'est l'utilisation très basique de awk puissant. vous voudrez peut-être lire quelques tutoriels si vous rencontrez souvent ce genre de problème.

Cette fois, vous aurez du poisson, si j'étais vous, je vais faire des recherches sur la pêche.

30
Kent

cut est agréable pour cela:

cut -d: -f1 /etc/passwd

Cela signifie "couper, en utilisant : comme délimiteur, tout sauf le premier champ de chaque ligne du fichier /etc/passwd".

8
Will

Je pense que la meilleure option est la suivante:
grep "/bin/bash" /etc/passwd | cut -d':' -f1

3
Sanjar Stone
awk  -F':' '$3>999 {print $1 " uid: " $3}' /etc/passwd | column -t | grep -v nobody

Vous donne tous les utilisateurs réguliers (uid> = 1000) soigneusement ordonnés, y compris l'ID utilisateur.

0
sjas