[shell/bash] script sed besoin d'aide svp
Résolu
Madmat59
Messages postés
98
Date d'inscription
Statut
Membre
Dernière intervention
-
Madmat59 Messages postés 98 Date d'inscription Statut Membre Dernière intervention -
Madmat59 Messages postés 98 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je realise actuellement un script pour Nagios, j'ai besoin d'utiliser la commande SED seulement je bloque sur une partie :
define hostgroup{
hostgroup_name linux-servers ;
alias Linux Servers ;
members localhost;
}
define hostgroup{
hostgroup_name groupeA ;
alias grpA ;
members localhost;
}
comment faire pour que le mot "serveur1" soit à droite de members SEULEMENT dans hostgroup du groupe A et pas dans linux-servers.
Je realise actuellement un script pour Nagios, j'ai besoin d'utiliser la commande SED seulement je bloque sur une partie :
define hostgroup{
hostgroup_name linux-servers ;
alias Linux Servers ;
members localhost;
}
define hostgroup{
hostgroup_name groupeA ;
alias grpA ;
members localhost;
}
comment faire pour que le mot "serveur1" soit à droite de members SEULEMENT dans hostgroup du groupe A et pas dans linux-servers.
A voir également:
- [shell/bash] script sed besoin d'aide svp
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Bingo bash free - Télécharger - Divers Jeux
6 réponses
désolé c'est assez difficil à expliquer :
En fait dans le même fichier de configuration j'ai deux déclaration de groupe :
define hostgroup{
hostgroup_name linux-servers ;
alias Linux Servers ;
members localhost;
}
define hostgroup{
hostgroup_name groupeA ;
alias grpA ;
members localhost;
}
Seulement dans mon script je souhaiterai qu'une machine "serveur1" soit affectée à un des deux groupes que l'on choisira "Souhaitez vous affectez la machine au groupe linux ou au groupe A":
ce qui donnerai :
define hostgroup{
hostgroup_name linux-servers ;
alias Linux Servers ;
members serveur1, localhost;
}
OU
define hostgroup{
hostgroup_name groupeA ;
alias grpA ;
members serveur1, localhost;
}
vous m'avez déjà aidé il y a quelque jour grâce à cette commande qui permettait d'ajouter à droite de members un nom :
sed -i "s/members/& $vNom, /" /usr/local/nagios/etc/objects/localhost.cfg
Seulement dans ce fichier j'ai deux fois members et je souhaite ajouter le nom "serveur1" à un des deux.
Voila en esperant que vous allez pouvoir m'aider
Cordialement Madmat59
En fait dans le même fichier de configuration j'ai deux déclaration de groupe :
define hostgroup{
hostgroup_name linux-servers ;
alias Linux Servers ;
members localhost;
}
define hostgroup{
hostgroup_name groupeA ;
alias grpA ;
members localhost;
}
Seulement dans mon script je souhaiterai qu'une machine "serveur1" soit affectée à un des deux groupes que l'on choisira "Souhaitez vous affectez la machine au groupe linux ou au groupe A":
ce qui donnerai :
define hostgroup{
hostgroup_name linux-servers ;
alias Linux Servers ;
members serveur1, localhost;
}
OU
define hostgroup{
hostgroup_name groupeA ;
alias grpA ;
members serveur1, localhost;
}
vous m'avez déjà aidé il y a quelque jour grâce à cette commande qui permettait d'ajouter à droite de members un nom :
sed -i "s/members/& $vNom, /" /usr/local/nagios/etc/objects/localhost.cfg
Seulement dans ce fichier j'ai deux fois members et je souhaite ajouter le nom "serveur1" à un des deux.
Voila en esperant que vous allez pouvoir m'aider
Cordialement Madmat59
jp@MDK:~/tmpfs ssh$ cat plop define hostgroup{ hostgroup_name linux-servers ; alias Linux Servers ; members localhost; } define hostgroup{ hostgroup_name groupeA ; alias grpA ; members localhost; } jp@MDK:~/tmpfs ssh$ read -p "Quel groupe ? " choix;sed "/define/,/}/{/${choix}/,/}/{s/members/& serveur1,/}}" plop Quel groupe ? groupeA define hostgroup{ hostgroup_name linux-servers ; alias Linux Servers ; members localhost; } define hostgroup{ hostgroup_name groupeA ; alias grpA ; members serveur1, localhost; } jp@MDK:~/tmpfs ssh$Rajouter l'option "-i" si tout marche bien ;-))
Merci pour votre aide j'ai un peu de mal à comprendre la commande, mon fichier ou il faut ajouter serveur1 se trouve dans usr/local/nagios/etc/objects/localhost.cfg je dois donc rajouter une commande ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question