I want to write a shell script that generates a list of users. for each user display the username and ID and all groups the user is a member of
it means like GROUPS command but for all users and with their id I used cat -d: -f1,3 /etc/passwd to show the users with their id but I don't know how can I use the groups for each line
would you please help me to write this script thanks
11 Answer
Use this script:
#! /bin/bash
#
for i in $(cat /etc/passwd | cut -d: -f1); do echo -n $i ": " grep $i /etc/group | cut -d: -f1 | tr "\n" " " echo
doneIt will list all users in the system (included system) and print the list of groups near them. With a trivial modification you can print the numeric id too.
2