Shell script_Supprimer lignes dans un fichier

[Résolu/Fermé]
Signaler
Messages postés
19
Date d'inscription
lundi 13 avril 2009
Statut
Membre
Dernière intervention
29 avril 2009
-
Messages postés
19
Date d'inscription
lundi 13 avril 2009
Statut
Membre
Dernière intervention
29 avril 2009
-
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

4 réponses

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 785
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

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

Je testerai ca demaine matin,

Jte tient au courant,

Cordialement,
4uRoN5
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 887
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'
;-))
Messages postés
19
Date d'inscription
lundi 13 avril 2009
Statut
Membre
Dernière intervention
29 avril 2009
1
Impeccable!!

Elle marche d'enfer cette commande;

Jvous remercie tous les 2!

Cordialement,
4uRoN5