Boucle pour modifier des caractères précis d'un fichier texte

raphoune89 Messages postés 3 Statut Membre -  
dubcek Messages postés 18787 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
J'utilise un programme externe qui lit un fichier texte pour exécuter des commandes sur un switch.
J'aimerais modifier certaines valeurs du fichier texte pour interroger plusieurs switchs.
Le corps du fichier texte est le suivant:
10.7.254.1 23
WAIT "Password:"
SEND "password\m"
WAIT ">"
SEND "enable\m"
WAIT "Password:"
SEND "password\m"
WAIT "#"
SEND "copy system:running-config tftp://10.7.253.196/nev1.txt\m"
WAIT "?"
SEND "\m"
WAIT "?"
SEND "\m"
WAIT "#"
SEND "exit"

Il faut que je modifie le dernier octet de l'adresse IP de la première ligne, et le nom du fichier .txt après la commande copy system:running-config...

J'arrive presque à extraire les bons caractères grâce à la boucle For /F mais je ne vois pas du tout comment faire pour modifier directement le fichier.

Merci d'avance pour vos réponses !

Cordialement,
A voir également:

5 réponses

Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
avec une bonne boucle for et sed:
for (( i=0;i<255;++i ))
do : sed " 1c 10.7.254.$i 23; s/nev1.txt/nev$i.txt" tontextedebase.txt >teste d'arrive
done
0
raphoune89 Messages postés 3 Statut Membre
 
Salut Char Snipeur,
Merci pour ta réponse, mais c'est en quel langage ce petit code que tu m'as donné ?
J'aurais aimé faire ça en bat si possible vu que le programme externe se lance grâce à un bat, ça m'aurait permis de tout faire en un seul code vois-tu ? ^^
0
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
c'est du bash + sed. Comme tu n'as rien préciser, j'ai fais dans le truc le plus simple et le plus courant.
sous win, Msys te permet d'utiliser ces outils.
0
raphoune89 Messages postés 3 Statut Membre
 
Ha ouais d'accord, je ne vais pas utiliser ça alors.
Tu ne saurais pas faire en bat ?
Merci !
0
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
non. Je ne suis même pas sur que tu ais les outils nécessaire pour manipuler les fichiers.
Tu y arrivera peut être, mais ça va te prendre beaucoup de temps. Je te conseil vraiment d'installer un vrai langage de script. Msys, perl ou python
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18787 Date d'inscription   Statut Contributeur Dernière intervention   5 643
 
hello
on ne peut pas modifier directement le fichier.
rediriger la boucle FOR dans un fichier : > fichier.tmp et remplacer l'original : copy /Y fichier.tmp fichier.txt
0