Shell script_Supprimer lignes dans un fichier

Résolu
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
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. Contributeur
    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
    1. Et ben,
      ca c'est de la réponse top-chrono!!

      Je testerai ca demaine matin,

      Jte tient au courant,

      Cordialement,
      4uRoN5
      0
      1. Modérateur
        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
        1. Impeccable!!

          Elle marche d'enfer cette commande;

          Jvous remercie tous les 2!

          Cordialement,
          4uRoN5
          0