Boucle for avec incrémentation de variable en shell
Bonjour,
Je voudrais votre aide concernant un programme que j'écris en shell.
Le but de mon programme est de lire un fichier 'T2.txt' de la forme
Code:
1 2 3 4 5 6 7 8 9 10 11
| define host {
host_name=localhost
x =
y =
}
define host {
host_name=localhost1
x =
y =
} |
qui se répète un nombre de fois inconnue.
Et de rajouter à des variables après "x = " . Jusque la j'arrive mais par la suite cela se complique car j'initialise dans mon programme une variable "X = 258" et je voudrais que pour le "localhost" le x = 258 pour le "localhost2" le x = 278.
Donc je voudrais incrémenter le x de 20 pour chaque host et l'écrire dans le fichier.
Est ce possible?
J'ai écrit ce programme:
Code:
1 2 3 4 5 6 7
| #!/bin/bash
c=258
for i in T2.txt
do
(( c=c + 50 ));
sed 's/\x=/&'$c'/g' T2.txt > T.txt;
done |
Mais le résultat est cela :
Code:
1 2 3 4 5
| define host {
host_name=localhost
x=308
y=
} |
Et le x reste a 308 pour tous les hosts.
J'espère que j'ai été claire sinon je peux vous expliquer en cas de doute.
Merci d'avance de vos réponse.
Cordialement,