Grep | piping
Résolu
zulul
Messages postés
22
Date d'inscription
Statut
Membre
-
zulul -
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 :)
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 :)
Configuration: un peu de tout
3 réponses
-
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++ -
Salut,
Tiens essaie ça :grep $1 /etc/passwd | cut -d: -f4 | xargs -i{} grep {} /etc/group | cut -d: -f1Ça devrait le faire ;-))
-
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 ...