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
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.
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
".
Je pense que la meilleure option est la suivante:grep "/bin/bash" /etc/passwd | cut -d':' -f1
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.