Liste d'users par ligne a partir de /etc/group

Liste d'users par ligne a partir de /etc/group - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 25-11-2009 à 12:37:41    

Bonjour,
Je cherche a obtenir une liste d'users (1 user par ligne) a partir de /etc/group, comment dois-je proceder?  
Example dans /etc/group j'ai
psr_grp1:x:2028:user1,user2,user3
Je souhaite obtenir 1 fichier texte (ou a l'ecran) une liste comme ca:
user1
user2
user3
 
Merci d'avance

Reply

Marsh Posté le 25-11-2009 à 12:37:41   

Reply

Marsh Posté le 26-11-2009 à 09:15:22    

pourquoi particulièrement à partir de /etc/group ?
 
Sinon, pour lister tous les utilisateurs : getent passwd

Reply

Marsh Posté le 26-11-2009 à 09:19:34    

grep "nom_du_groupe" /etc/group | awk -F: '{print $4}' | sed 's@,@\n@g'

 

pour un groupe donné [:elessar53]
pas testé, mais l'idée est là :o


Message édité par wedgeant le 26-11-2009 à 09:19:42

---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 26-11-2009 à 11:08:33    

Il y a le primary group et les secondary groups
getent /etc/passwd | grep 1234 va me retourner la liste des utilisateurs ayant leur primary group 1234
Je cherche a lister les utilisateurs appartenant au secondary groups, c'est pour ca que je pars a partir de /etc/group
 
Merci pour la commande, ca fonctionne presque,
la liste des utilisateurs sont colles les uns aux autres, je cherche en ce moment a ajouter un retour a la ligne apres chaque impression
 
 

Reply

Marsh Posté le 26-11-2009 à 11:11:08    

le \n est normalement là pour ajouter le retour à la ligne :spamafote:
la commande sed sert à remplacer la virgule par un retour à la ligne [:transparency]


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 27-11-2009 à 16:31:38    

Citation :

awk 'BEGIN {FS=":"} /nom_du_groupe/ {gsub(/,/, "\n" ); print $4}' /etc/group


useless use of grep ;)  
useless use of sed ;)  
Deux pipes en moins, deux sous-shell en moins :o  
awk c'est le biennnngggg  :D


---------------
La réponse est 42
Reply

Marsh Posté le 27-11-2009 à 20:12:32    

twocats a écrit :

Citation :

awk 'BEGIN {FS=":"} /nom_du_groupe/ {gsub(/,/, "\n" ); print $4}' /etc/group


useless use of grep ;)  
useless use of sed ;)  
Deux pipes en moins, deux sous-shell en moins :o  
awk c'est le biennnngggg  :D


 
je plussoie fortement


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed