Vérifier la présence ou l'absence de la ligne suivante

Résolu/Fermé
glamourshootr Messages postés 2 Date d'inscription mardi 28 mai 2013 Statut Membre Dernière intervention 29 mai 2013 - 28 mai 2013 à 18:15
glamourshootr Messages postés 2 Date d'inscription mardi 28 mai 2013 Statut Membre Dernière intervention 29 mai 2013 - 29 mai 2013 à 12:00
Bonjour,

Voici ma problématique :
J'ai un fichier référence references.lst qui contient des lignes correspondant à des groupes d'utilisateurs.
A partir de ce fichier, je fais un while read de chaque ligne pour aller les trouver dans un second fichier, groupes_membres.lst.
exemples :

* cat references.lst

grp=groupe1
grp=groupe2
grp=groupe3
...

* cat groupes_membres.lst

grp=groupe1
member=lkdsjklfr
member=lkdsjklrgj
member=lkdsjklrfhgghgf
member=lkdsjkert

grp=groupe2

grp=groupe3
member=lkdsjklfr
member=lkdsjklrgj
member=lkdsjklrfhgghgf
member=lkdsjkert

-- Jusqu'ici tout va bien.
Dans le cas du groupe 2, on se rend compte qu'il ne contient aucun membre.
Je chercher donc les lignes vides après la ligne recherchée.

Je veux pouvoir identifier tous les groupes vides (sans membres) en lisant la ligne suivante qui ne contient pas member.

Le but est de trouver tous les groupes d'utilisateurs vides afin de les éliminer dans un annuaire ldap.
J'ai essayé des combinaisons avec grep, sed et awk mais sans grand succès.

N'hésitez pas à me poser des questions si nécessaire.

A voir également:

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
28 mai 2013 à 18:20
Salut,

$ cat plop 
grp=groupe1
member=lkdsjklfr
member=lkdsjklrgj
member=lkdsjklrfhgghgf
member=lkdsjkert

grp=groupe2

grp=groupe3
member=lkdsjklfr
member=lkdsjklrgj
member=lkdsjklrfhgghgf
member=lkdsjkert 

grp=groupe4

grp=groupe5
member=lkdsjklfr
member=lkdsjklrgj
member=lkdsjklrfhgghgf
member=lkdsjkert 

$ sed -n '/^grp=/{N;/\n$/P;b}' plop 
grp=groupe2
grp=groupe4

$

;-))
0
glamourshootr Messages postés 2 Date d'inscription mardi 28 mai 2013 Statut Membre Dernière intervention 29 mai 2013
29 mai 2013 à 12:00
Nickel ça marche. Merci beaucoup :-D
0