Le but de la jointure est d'affichier pour toutes mes lignes du fichier /etc/passwd le nom du groupe associé. Pour cela je trie d'abord le fichier /etc/passwd sur le champ 4 qui correspond au GID Ensuite je coupe le champ 3 (parce que souvent vide) du fichier /etc/group et le trie sur le champ 2 qui correspond au GID Maintenant la jointure et les soucis, elle se passe pour le premier fichier sur le champ 4 et pour le second sur le champ 2 et je veux affichier --ERR GROUP-- si un champ vide est détecté. Hors la jointure se passe mal ! Toutes les lignes ne sont pas affichées. J'ai été obligé d'ajouter l'option -a 1 pour affichier les lignes non appariées (qui ne peuvent être mises ensembles, mais pourquoi???). Voici une partie de mon fichier jointureA :
70:xfs:x:70:system user for XFree86:/etc/X11/fs:/bin/false:--ERR GROUP--
71:apache:x:71:system user for apache2:/var/www:/bin/sh:--ERR GROUP--
Cela marche correctement pour les 7 premiers groupes alors que le tri du fichier /etc/passwd est comme ceci (je ne mets pas toutes les lignes volontairement car trop long) :
xfs:x:70:70:system user for XFree86:/etc/X11/fs:/bin/false
apache:x:71:71:system user for apache2:/var/www:/bin/sh
Si quelqu'un voit pourquoi cela ne marche pas pour toutes les lignes, je suis preneur. j'ai déjà testé -a2 cela fait pratiquement la mêmes chose, je sèche
merci^^
Message édité par dem0ntibul le 31-01-2006 à 20:13:08
Marsh Posté le 29-01-2006 à 21:23:05
bonjour amis HFRiens et HFRiennes,
Comme le dit le sujet, j'ai un problème de jointure. Parce que de longs discours ne valent pas mieux que du code, voila le script :
Le but de la jointure est d'affichier pour toutes mes lignes du fichier /etc/passwd le nom du groupe associé.
Pour cela je trie d'abord le fichier /etc/passwd sur le champ 4 qui correspond au GID
Ensuite je coupe le champ 3 (parce que souvent vide) du fichier /etc/group et le trie sur le champ 2 qui correspond au GID
Maintenant la jointure et les soucis, elle se passe pour le premier fichier sur le champ 4 et pour le second sur le champ 2 et je veux affichier --ERR GROUP-- si un champ vide est détecté. Hors la jointure se passe mal ! Toutes les lignes ne sont pas affichées.
J'ai été obligé d'ajouter l'option -a 1 pour affichier les lignes non appariées (qui ne peuvent être mises ensembles, mais pourquoi???). Voici une partie de mon fichier jointureA :
Cela marche correctement pour les 7 premiers groupes alors que le tri du fichier /etc/passwd est comme ceci (je ne mets pas toutes les lignes volontairement car trop long) :
et le tri du fichier /etc/passwd comme ca :
Si quelqu'un voit pourquoi cela ne marche pas pour toutes les lignes, je suis preneur. j'ai déjà testé -a2 cela fait pratiquement la mêmes chose, je sèche
merci^^
Message édité par dem0ntibul le 31-01-2006 à 20:13:08