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
Le jeudi 22 mai 2014 à 8:51, Nahliel Steinberg a écrit :
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é ;-)
Bash ne va effectuer qu'une infime partie du boulot…
Tu auras besoin de : - echo - pour afficher du texte - read - pour capturer la saisie de l'utilisateur - sed - pour remplacer dans le(s) fichier(s)
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/
Bonjour,
Le jeudi 22 mai 2014 à 8:51, Nahliel Steinberg a écrit :
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é ;-)
Bash ne va effectuer qu'une infime partie du boulot…
Tu auras besoin de :
- echo - pour afficher du texte
- read - pour capturer la saisie de l'utilisateur
- sed - pour remplacer dans le(s) fichier(s)
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 debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: https://lists.debian.org/20140522072348.GA15013@sebian.nob900.homeip.net
-- 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/CAFuS2bbXW2rbDiqyKYC_BqU=
--
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
--
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/CAFuS2bbXW2rbDiqyKYC_BqU=u3OsFma5R1og1aHjOyS99rSLRg@mail.gmail.com
-- 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/CAFuS2bbXW2rbDiqyKYC_BqU=
Francois Lafont
Bonjour,
Le 22/05/2014 08:51, Nahliel Steinberg a écrit :
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.
Tu ne disposes pas d'un fichier csv du genre celui ci-dessous ?
Parce que 300 saisies à se taper à la main, c'est quand même un peu galère. Si c'est le cas, je verrais bien un script qui lit le csv et qui génére une « grosse » commande sed du genre ça :
sed -ir -e 's/10.10.0.56/10.0.35.40/g' -e 's/10.0.0.57/10.0.35.41/g' ... 'liste_ip.csv'
-- 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/
Bonjour,
Le 22/05/2014 08:51, Nahliel Steinberg a écrit :
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.
Tu ne disposes pas d'un fichier csv du genre celui ci-dessous ?
Parce que 300 saisies à se taper à la main, c'est quand même un peu
galère. Si c'est le cas, je verrais bien un script qui lit le csv et
qui génére une « grosse » commande sed du genre ça :
sed -ir
-e 's/10.10.0.56/10.0.35.40/g'
-e 's/10.0.0.57/10.0.35.41/g'
...
'liste_ip.csv'
--
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 debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: https://lists.debian.org/537DAAD9.8080101@free.fr
Parce que 300 saisies à se taper à la main, c'est quand même un peu galère. Si c'est le cas, je verrais bien un script qui lit le csv et qui génére une « grosse » commande sed du genre ça :
sed -ir -e 's/10.10.0.56/10.0.35.40/g' -e 's/10.0.0.57/10.0.35.41/g' ... 'liste_ip.csv'
-- 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/
Nahliel Steinberg
Tu ne disposes pas d'un fichier csv du genre celui ci-dessous ?
Parce que 300 saisies à se taper à la main, c'est quand même un peu galère. Si c'est le cas, je verrais bien un script qui lit le csv et qui génére une « grosse » commande sed du genre ça :
sed -ir -e 's/10.10.0.56/10.0.35.40/g' -e 's/10.0.0.57/10.0.35.41/g' ... 'liste_ip.csv'
Non pas du tout, j'ai un fichier de configurattion cfg, qui contient un champ address : IP
-- 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/
Tu ne disposes pas d'un fichier csv du genre celui ci-dessous ?
Parce que 300 saisies à se taper à la main, c'est quand même un peu
galère. Si c'est le cas, je verrais bien un script qui lit le csv et
qui génére une « grosse » commande sed du genre ça :
sed -ir
-e 's/10.10.0.56/10.0.35.40/g'
-e 's/10.0.0.57/10.0.35.41/g'
...
'liste_ip.csv'
Non pas du tout, j'ai un fichier de configurattion cfg, qui contient un champ address : IP
--
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/20140522075643.GB25679@debianserver.info-cr.fr
Parce que 300 saisies à se taper à la main, c'est quand même un peu galère. Si c'est le cas, je verrais bien un script qui lit le csv et qui génére une « grosse » commande sed du genre ça :
sed -ir -e 's/10.10.0.56/10.0.35.40/g' -e 's/10.0.0.57/10.0.35.41/g' ... 'liste_ip.csv'
Non pas du tout, j'ai un fichier de configurattion cfg, qui contient un champ address : IP
-- 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/
Francois Lafont
Le 22/05/2014 09:56, Nahliel Steinberg a écrit :
Non pas du tout, j'ai un fichier de configurattion cfg, qui contient un champ address : IP
Ok, ça c'est le fichier "hosts.cfg". Mais pour changer les IP, il te faut bien un « document » qui te dit cette IP là il faudra la changer en ça, celle-ci en ça etc., non ?
-- 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/
Le 22/05/2014 09:56, Nahliel Steinberg a écrit :
Non pas du tout, j'ai un fichier de configurattion cfg, qui contient un champ address : IP
Ok, ça c'est le fichier "hosts.cfg". Mais pour changer les
IP, il te faut bien un « document » qui te dit cette IP là
il faudra la changer en ça, celle-ci en ça etc., non ?
--
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 debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: https://lists.debian.org/537DAF7E.8000304@free.fr
Non pas du tout, j'ai un fichier de configurattion cfg, qui contient un champ address : IP
Ok, ça c'est le fichier "hosts.cfg". Mais pour changer les IP, il te faut bien un « document » qui te dit cette IP là il faudra la changer en ça, celle-ci en ça etc., non ?
-- 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/
Nahliel Steinberg
Tu auras besoin de : - echo - pour afficher du texte - read - pour capturer la saisie de l'utilisateur - sed - pour remplacer dans le(s) fichier(s)
Oui pour la partie read, echo, je bloque pour la detection du champ et le remplacement.
-- 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/
Tu auras besoin de :
- echo - pour afficher du texte
- read - pour capturer la saisie de l'utilisateur
- sed - pour remplacer dans le(s) fichier(s)
Oui pour la partie read, echo, je bloque pour la detection du champ et le remplacement.
--
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/20140522080609.GD25679@debianserver.info-cr.fr
Tu auras besoin de : - echo - pour afficher du texte - read - pour capturer la saisie de l'utilisateur - sed - pour remplacer dans le(s) fichier(s)
Oui pour la partie read, echo, je bloque pour la detection du champ et le remplacement.
-- 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/
Nahliel Steinberg
Le 22/05/14 at 10:04, Francois Lafont a ecrit:
Le 22/05/2014 09:56, Nahliel Steinberg a écrit :
Non pas du tout, j'ai un fichier de configurattion cfg, qui contient un champ address : IP
Ok, ça c'est le fichier "hosts.cfg". Mais pour changer les IP, il te faut bien un « document » qui te dit cette IP là il faudra la changer en ça, celle-ci en ça etc., non ?
;-) c'est logique
J'ai déjà tout ça, c'est le remplacement qui me pose problème.
-- 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/
Le 22/05/14 at 10:04, Francois Lafont a ecrit:
Le 22/05/2014 09:56, Nahliel Steinberg a écrit :
Non pas du tout, j'ai un fichier de configurattion cfg, qui contient un champ address : IP
Ok, ça c'est le fichier "hosts.cfg". Mais pour changer les
IP, il te faut bien un « document » qui te dit cette IP là
il faudra la changer en ça, celle-ci en ça etc., non ?
;-) c'est logique
J'ai déjà tout ça, c'est le remplacement qui me pose problème.
--
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/20140522080705.GE25679@debianserver.info-cr.fr
Non pas du tout, j'ai un fichier de configurattion cfg, qui contient un champ address : IP
Ok, ça c'est le fichier "hosts.cfg". Mais pour changer les IP, il te faut bien un « document » qui te dit cette IP là il faudra la changer en ça, celle-ci en ça etc., non ?
;-) c'est logique
J'ai déjà tout ça, c'est le remplacement qui me pose problème.
-- 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/
Nahliel Steinberg
Le 22/05/14 at 09:29, Belaïd a ecrit:
Bonjour, awk peut faire ça très facilement
Tu écrirais ça comment ? ;-))
-- 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/
Le 22/05/14 at 09:29, Belaïd a ecrit:
Bonjour,
awk peut faire ça très facilement
Tu écrirais ça comment ? ;-))
--
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/20140522080406.GC25679@debianserver.info-cr.fr
-- 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/
S
Le jeudi 22 mai 2014 à 10:06, Nahliel Steinberg a écrit :
>Tu auras besoin de : > - echo - pour afficher du texte > - read - pour capturer la saisie de l'utilisateur > - sed - pour remplacer dans le(s) fichier(s)
Oui pour la partie read, echo, je bloque pour la detection du champ et le remplacement.
Tu as essayé ça ? - man sed - http://lmgtfy.com/?q=tutoriel+sed
À 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…
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/
Le jeudi 22 mai 2014 à 10:06, Nahliel Steinberg a écrit :
>Tu auras besoin de :
> - echo - pour afficher du texte
> - read - pour capturer la saisie de l'utilisateur
> - sed - pour remplacer dans le(s) fichier(s)
Oui pour la partie read, echo, je bloque pour la detection du champ et le remplacement.
Tu as essayé ça ?
- man sed
- http://lmgtfy.com/?q=tutoriel+sed
À 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…
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 debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: https://lists.debian.org/20140522081747.GB15013@sebian.nob900.homeip.net
Le jeudi 22 mai 2014 à 10:06, Nahliel Steinberg a écrit :
>Tu auras besoin de : > - echo - pour afficher du texte > - read - pour capturer la saisie de l'utilisateur > - sed - pour remplacer dans le(s) fichier(s)
Oui pour la partie read, echo, je bloque pour la detection du champ et le remplacement.
Tu as essayé ça ? - man sed - http://lmgtfy.com/?q=tutoriel+sed
À 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…
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/
Francois Lafont
Oups, désolé Nahliel, je t'ai répondu en privé au lieu de passer par la mailing list. On la refait. :)
Le 22/05/2014 10:07, Nahliel Steinberg a écrit :
Le 22/05/14 at 10:04, Francois Lafont a ecrit:
Le 22/05/2014 09:56, Nahliel Steinberg a écrit :
Non pas du tout, j'ai un fichier de configurattion cfg, qui contient un champ address : IP
Ok, ça c'est le fichier "hosts.cfg". Mais pour changer les IP, il te faut bien un « document » qui te dit cette IP là il faudra la changer en ça, celle-ci en ça etc., non ?
;-) c'est logique
Plus haut, je te demande si tu disposes d'un fichier csv et tu me réponds « Non pas du tout ». Et là, tu me dis que si... Bref, pas tout compris. À moins que ce « document » en question ne soit au format papier.
J'ai déjà tout ça, c'est le remplacement qui me pose problème.
Pour le remplacement, tu as une piste avec le sed que j'ai donné en exemple (je change les IP pour que ça soit aligné et plus compréhensible) :
sed -ir -e 's/10.0.0.56/10.0.35.40/g' -e 's/10.0.0.57/10.0.35.41/g' hosts.cfg # <---- au passage je m'étais planté ici, # il s'agit du fichier hosts.cfg.
Avec la commande ci-dessus, l'IP 10.0.0.56 sera remplacée par 10.0.35.40, l'IP 10.0.0.57 sera remplacée par 10.0.35.41. Le tout de manière non interactive.
Les « . » sont échappés car en regex ils ont une signification ( « . » signifie « n'importe quel caractère »). Pour lui faire perdre cette signification spéciale, on doit faire un échappement (et du coup « . » signifie « le caractère point »). Du coup, les . enlèvent un peu de lisibilité au sed mais bon avec les regex...
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.
-- François Lafont
-- 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/
Oups, désolé Nahliel, je t'ai répondu en privé au
lieu de passer par la mailing list. On la refait. :)
Le 22/05/2014 10:07, Nahliel Steinberg a écrit :
Le 22/05/14 at 10:04, Francois Lafont a ecrit:
Le 22/05/2014 09:56, Nahliel Steinberg a écrit :
Non pas du tout, j'ai un fichier de configurattion cfg, qui contient un champ address : IP
Ok, ça c'est le fichier "hosts.cfg". Mais pour changer les
IP, il te faut bien un « document » qui te dit cette IP là
il faudra la changer en ça, celle-ci en ça etc., non ?
;-) c'est logique
Plus haut, je te demande si tu disposes d'un fichier csv et tu me
réponds « Non pas du tout ». Et là, tu me dis que si... Bref,
pas tout compris. À moins que ce « document » en question ne soit
au format papier.
J'ai déjà tout ça, c'est le remplacement qui me pose problème.
Pour le remplacement, tu as une piste avec le sed que j'ai donné
en exemple (je change les IP pour que ça soit aligné et plus
compréhensible) :
sed -ir
-e 's/10.0.0.56/10.0.35.40/g'
-e 's/10.0.0.57/10.0.35.41/g'
hosts.cfg # <---- au passage je m'étais planté ici,
# il s'agit du fichier hosts.cfg.
Avec la commande ci-dessus, l'IP 10.0.0.56 sera
remplacée par 10.0.35.40, l'IP 10.0.0.57 sera
remplacée par 10.0.35.41. Le tout de manière non interactive.
Les « . » sont échappés car en regex ils ont une signification
( « . » signifie « n'importe quel caractère »). Pour lui faire
perdre cette signification spéciale, on doit faire un échappement
(et du coup « . » signifie « le caractère point »). Du coup,
les . enlèvent un peu de lisibilité au sed mais bon avec les
regex...
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.
--
François Lafont
--
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 debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: https://lists.debian.org/537DB505.1020803@free.fr
Oups, désolé Nahliel, je t'ai répondu en privé au lieu de passer par la mailing list. On la refait. :)
Le 22/05/2014 10:07, Nahliel Steinberg a écrit :
Le 22/05/14 at 10:04, Francois Lafont a ecrit:
Le 22/05/2014 09:56, Nahliel Steinberg a écrit :
Non pas du tout, j'ai un fichier de configurattion cfg, qui contient un champ address : IP
Ok, ça c'est le fichier "hosts.cfg". Mais pour changer les IP, il te faut bien un « document » qui te dit cette IP là il faudra la changer en ça, celle-ci en ça etc., non ?
;-) c'est logique
Plus haut, je te demande si tu disposes d'un fichier csv et tu me réponds « Non pas du tout ». Et là, tu me dis que si... Bref, pas tout compris. À moins que ce « document » en question ne soit au format papier.
J'ai déjà tout ça, c'est le remplacement qui me pose problème.
Pour le remplacement, tu as une piste avec le sed que j'ai donné en exemple (je change les IP pour que ça soit aligné et plus compréhensible) :
sed -ir -e 's/10.0.0.56/10.0.35.40/g' -e 's/10.0.0.57/10.0.35.41/g' hosts.cfg # <---- au passage je m'étais planté ici, # il s'agit du fichier hosts.cfg.
Avec la commande ci-dessus, l'IP 10.0.0.56 sera remplacée par 10.0.35.40, l'IP 10.0.0.57 sera remplacée par 10.0.35.41. Le tout de manière non interactive.
Les « . » sont échappés car en regex ils ont une signification ( « . » signifie « n'importe quel caractère »). Pour lui faire perdre cette signification spéciale, on doit faire un échappement (et du coup « . » signifie « le caractère point »). Du coup, les . enlèvent un peu de lisibilité au sed mais bon avec les regex...
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.
-- François Lafont
-- 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/