Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[HS] Script

23 réponses
Avatar
Nahliel Steinberg
Bonjour,

Je suis confronté à un problème, je dois changer plus de 300 ip dans un fichier de configuration de nagios, le hosts.cfg.

Auriez-vous une petite moulinette (script), qui puisse au moins me détecter le champ address : ip pour les changer.

J'aimerai faire un read pour une question posée :

quel ip voulez-vous changer : 10.10.1.56
quelle est la nouvelle : 10.10.35.40

Qu'il détecte l'ip à changer et écrive la nouvelle.

je ne vois pas du tout comment je peux faire ça, mes compétences en bash sont un peu limité ;-)

--
Nahliel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: https://lists.debian.org/20140522065109.GA25679@debianserver.info-cr.fr

10 réponses

1 2 3
Avatar
Nahliel Steinberg
Non je n'ai pas de CSV avec les correspondances.

Je vais tester ça, je te remercie bcp.

Bien à toi


--
Nahliel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Stephane Ascoet
Le 22/05/2014 10:27, Francois Lafont a écrit :
En tout cas, je répète, si tu as déjà un fichier csv indiquant
les correspondances entre les anciennes IP et les nouvelles, il
ne faut pas s'embêter à faire un truc interactif à base de read
et de (300 !) saisies manuelles. Il faut faire un remplacement
automatique comme dans la commande ci-dessus. Le souci étant
de générer cette commande avec un script. En tout cas, c'est
la méthode qui me vient à l'esprit.




Bonjour, et ce n'est pas la mer a boire... Par exemple je ferais d'abord ajouter les "" par une premiere passe sur le fichier, puis
avec une boucle je genererai les commandes Sed. Plusieurs possibilites... Il semble me souvenir que Sed peut lire les choses a faire
depuis un fichier, dans ce cas on peut faire une passe sur le fichier pour le formater tel que Sed l'attend. Autrement, on peut soit
ajouter faire cette derniere manipulation mais en ajoutant la syntaxe de la commande sed autour. On peut encore lire le fichier en
boucle et exporter l'ensemble commande Sed+valeurs dans un .sh avec un ou plusieurs "echo >> script.sh".

Encore une autre possibilite, en plus de Awk, on peut aussi fournir a Vim un fichier d'actions. Le principe sera le meme que mes
explications ci-dessus, mais avec une syntaxe Vim au lieu de Sed. J'utilise par exemple cette technique a la fin de
<http://www.fdn.fr/~sascoet/monalbum/scripts/afficherfiltres.bash>(mais le cas est plus simple, il recupere un numero de ligne via
un read justement).

PS: encore une fois, il faut rappeler qu'il existe des listes de discussions specialisees dans le scriptage...

--
Bien cordialement, Stephane Ascoet

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Philippe Delavalade
Le jeudi 22 mai à 08:51, Nahliel Steinberg a écrit :
Bonjour,

Je suis confronté à un problème, je dois changer plus de 300 ip dans un fichier de configuration de nagios, le hosts.cfg.

Auriez-vous une petite moulinette (script), qui puisse au moins me détecter le champ address : ip pour les changer.

J'aimerai faire un read pour une question posée :

quel ip voulez-vous changer : 10.10.1.56
quelle est la nouvelle : 10.10.35.40

Qu'il détecte l'ip à changer et écrive la nouvelle.

je ne vois pas du tout comment je peux faire ça, mes compétences en bash


sont un peu limité ;-)

Bonjour.

ça peut être fait comme dit dans d'autres réponses avec sed, awk ou aussi
perl.

Par contre, il faudrait connaître exactement la structure de ton fichier
.cfg à modifier et la structure de ton fichier contenant les modifs à
faire ; si tu n'as pas un tel fichier bien structuré, autant faire à la
main.

Un script n'a d'utilité que si les choses peuvent être automatisées :-) Si
tes remplacements sont écrits sur une feuille de papier, il faut abandonner
l'idée du script.

--
Ph. Delavalade

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Nahliel Steinberg
À moins que tu n'attendes qu'on te livre la solution toute prête, si bien que tu
n'aies même pas à la comprendre…



Pourquoi pas, je gagnerai du temps, envoi là qu'on voit comment tu brilles de tout ton éclat.

A+
--
Nahliel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Nahliel Steinberg

Bonjour.

ça peut être fait comme dit dans d'autres réponses avec sed, awk ou aussi
perl.

Par contre, il faudrait connaître exactement la structure de ton fichier
.cfg à modifier et la structure de ton fichier contenant les modifs à
faire ; si tu n'as pas un tel fichier bien structuré, autant faire à la
main.

Un script n'a d'utilité que si les choses peuvent être automatisées :-) Si
tes remplacements sont écrits sur une feuille de papier, il faut abandonner
l'idée du script.




tout dépend de l'idée naissante. Je reste sur l'idée du script.

300 hotes était un exemple, nous en avons plus de 450.

Bref, je continue sur ma lancée.

Merci à tous ceux qui m'ont indiqué des pistes probantes.

--
Nahliel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
S
Le jeudi 22 mai 2014 à 11:02, Nahliel Steinberg a écrit :
>À moins que tu n'attendes qu'on te livre la solution toute prête, si bien que tu
>n'aies même pas à la comprendre…

Pourquoi pas, je gagnerai du temps, envoi là qu'on voit comment tu brilles de tout ton éclat.



Je n'ai pas besoin de briller de tout mon éclat… Par contre, tu viens de nous
faire une bonne démonstration du tien !

Seb

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Stephane Ascoet
Le 22/05/2014 11:02, Nahliel Steinberg a écrit :
Pourquoi pas, je gagnerai du temps, envoi là qu'on voit comment tu brilles de tout ton éclat.




Typiquement le genre de remarques qui va nous donner tres envie de continuer a t'aider apres t'avoir deja beaucoup aiguille et avoir
essaye de degager la substance dans tes explications floues, le tout en hors-sujet alors que chacun a ses propres occupations... tu
as tout compris au fonctionnement de l'entraide benevole toi...

--
Bien cordialement, Stephane Ascoet

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Nahliel Steinberg
Bonjour, et ce n'est pas la mer a boire... Par exemple je ferais
d'abord ajouter les "" par une premiere passe sur le fichier, puis
avec une boucle je genererai les commandes Sed. Plusieurs
possibilites... Il semble me souvenir que Sed peut lire les choses a
faire depuis un fichier, dans ce cas on peut faire une passe sur le
fichier pour le formater tel que Sed l'attend. Autrement, on peut
soit ajouter faire cette derniere manipulation mais en ajoutant la
syntaxe de la commande sed autour. On peut encore lire le fichier en
boucle et exporter l'ensemble commande Sed+valeurs dans un .sh avec
un ou plusieurs "echo >> script.sh".

Encore une autre possibilite, en plus de Awk, on peut aussi fournir a
Vim un fichier d'actions. Le principe sera le meme que mes
explications ci-dessus, mais avec une syntaxe Vim au lieu de Sed.
J'utilise par exemple cette technique a la fin de <http://www.fdn.fr/~sascoet/monalbum/scripts/afficherfiltres.bash>(mais
le cas est plus simple, il recupere un numero de ligne via un read
justement).

PS: encore une fois, il faut rappeler qu'il existe des listes de discussions specialisees dans le scriptage...




Oui effectivement, si tu en as une qui n'est pas morte et ou tu attends encore une réponse depuis plus de 6 mois, je veux bien
que tu m'en indique une.

Qu'est-ce que ça aurait été si je n'avais pas mis [HS] dans le sujet du post.

Bref, ça changera jamais, toujours autant de blabla ici, y'en à qui passe leur temps à guéter la moindre petite
faille pour sauter dessus.

Merci encore à ceux qui ont eu l'humilité et le recul pour me répondre.

Bisous ;-)


--
Nahliel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Stephane Ascoet
Le 22/05/2014 11:21, Nahliel Steinberg a écrit :
Bref, ça changera jamais, toujours autant de blabla ici, y'en à qui passe leur temps à guéter la moindre petite
faille pour sauter dessus.




Et toujours autant de parasites qui arrivent en attendant qu'on devine les details de leur probleme, qu'on le resolve, qu'on
fournisse le code en question sans le moindre bug, le tout sur notre temps de travail et en se faisant cracher dessus.

Si tu as employe le meme ton sur la liste sur laquelle tu n'as pas eu de reponse, faut pas s'etonner...

--
Bien cordialement, Stephane Ascoet

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Francois Lafont
Le 22/05/2014 11:02, Nahliel Steinberg a écrit :

Pourquoi pas, je gagnerai du temps, envoi là qu'on voit comment tu brilles de tout ton éclat.



Si tu avais dénié expliquer sous quel format *exactement* tu
disposes des modifications à faire (fichier csv, xml, feuille
de papier, que sais-je encore...), alors oui là tu avais une
chance d'avoir la solution clé en main que t'aurait filée une
bonne âme qui passait par là (même si ce n'est pas une bonne
pratique).

Mais à aucun moment tu n'as fourni cette information (ni dans
ton premier message ni après, alors la question t'a été posée
à plusieurs reprises). Car la solution à ton problème (àmha
trivial, en 10 lignes de shell c'est plié) est fortement
dépendante des données dont tu disposes et de leur format (je
parle ici des données indiquant les modifs à faire, pas du
fichier hosts.cfg dont on se fiche un peu ici).

Évidemment, là maintenant, on n'a plus trop envie de t'aider,
quand bien même tu finirais par indiquer clairement des données
dont tu disposes.

Bye.

--
François Lafont

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
1 2 3