Shell script_Supprimer lignes dans un fichier

Résolu/Fermé
auron5 Messages postés 19 Date d'inscription lundi 13 avril 2009 Statut Membre Dernière intervention 29 avril 2009 - 19 avril 2009 à 18:22
auron5 Messages postés 19 Date d'inscription lundi 13 avril 2009 Statut Membre Dernière intervention 29 avril 2009 - 20 avril 2009 à 09:15
Bonjour,

Afin de créer des script pour simplifier l'ajout et la suppression d'utilisateurs et de groupes sur mon serveur de fichier (Samba), je doit supprimer 6 lignes à partir d'une chaine de caractères présent dans une variable.

exemple du fichier :

blabla
blabla

[GROUPE] #groupe""
comment="partage" #groupe""
path=/mnt/partage #groupe""
valid users = @visiteurs #groupe""

blabla
blabla


Description:
A la base je voulais une commande qui me supprime la ligne [GROUPE] et les 3 qui suivent.
Mais je n'ai pas trouvé cette commande magique...
donc j'ai décidé d'ajouter un commentaire en fin de ligne qui comprend le nom des lignes à supprimer, et les supprimer à l'aide d'une commande sed.
La commande marchait mais ces commentaires font que les lignes suivantes ne sont plus pris en compte,
comme la liste des valid users, et dès que je les enlève sa marche à nouveau.

Donc si quelqu'un pouvait me sauver la vie!! en me conseillant sur comment m'y prendre ca serait super!!

Le serveur est sous Debian,

Cordialement,
4uRoN5
A voir également:

4 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
19 avril 2009 à 18:30
Salut,

A la base je voulais une commande qui me supprime la ligne [GROUPE] et les 3 qui suivent.
Mais je n'ai pas trouvé cette commande magique...

 sed -i.bak '/GROUPE/,~4d'  fichier


Cdlt
1
auron5 Messages postés 19 Date d'inscription lundi 13 avril 2009 Statut Membre Dernière intervention 29 avril 2009 1
19 avril 2009 à 19:06
Et ben,
ca c'est de la réponse top-chrono!!

Je testerai ca demaine matin,

Jte tient au courant,

Cordialement,
4uRoN5
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
19 avril 2009 à 20:16
Salut,

Si le nombre de lignes suivantes varie et qu'il y a toujours une ligne vide entre les différents groupes, tu peu aussi faire comme suit :
sed '/GROUPE/,/^$/d'
;-))
0
auron5 Messages postés 19 Date d'inscription lundi 13 avril 2009 Statut Membre Dernière intervention 29 avril 2009 1
20 avril 2009 à 09:15
Impeccable!!

Elle marche d'enfer cette commande;

Jvous remercie tous les 2!

Cordialement,
4uRoN5
0