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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 bash : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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,