Grep | piping

Résolu
zulul Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -  
 zulul -
Bonjour,

je suis débutant dans le shell et je me casse la tête pour recuperer un resultat dans le pipe suivant, mettant un point d'honneur à tout fiche en une seule ligne...

Il faut recuperer le gid du /etc/passwd correspondant à $1 pour ensuite faire un grep avec le resultat sur /etc/group et prendre le champ 1

passwd -> login:pwd:uid:gid:cmt:homedir:shell
group -> group::gid:

# echo -en `grep $1 passwd|cut -d: -f4|grep (?) group|cut -d: -f1`

? on met quoi à la place de (?) pour prende le resultat du tube précédent ?

Toute aide sera la bienvenue :)

3 réponses

Ravachol Messages postés 566 Date d'inscription   Statut Membre Dernière intervention   120
 
Salut,
Avec la substitution de commande peut-être, comme ceci:
grp=$(cat /etc/passwd| grep $1|cut -d: -f4);grep $grp /etc/group|cut -d: -f1


A++
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Argggggggggggggggg trop tard !!!
Ça m'apprendra à ne pas rafraîchir avant de poster ;-))
0
Ravachol Messages postés 566 Date d'inscription   Statut Membre Dernière intervention   120 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
 
Salut,
Deux réponses valent mieux qu'une. C'est bien de pouvoir choisir ;-)

A++
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896 > Ravachol Messages postés 566 Date d'inscription   Statut Membre Dernière intervention  
 
C'est clair et le pingouin est là pour ça ;-)))
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Tiens essaie ça :
grep $1 /etc/passwd | cut -d: -f4 | xargs -i{} grep {}  /etc/group | cut -d: -f1
Ça devrait le faire ;-))
0
zulul
 
yeaah merci bien

j'ai pour ma par trouvé une solution moins élégante mais qui fonctionne...

echo ´grep $1 passwd|cut -d: -f4>read a|grep $a group|cut -d: f1´

:) a la prochaine ...
0