Bonjour,
Je fait de nouveau appel à vos services pour l'écriture d'un script (shell) qui permettra de créer un fichier B depuis un fichier (original) A en remplaçant 2 champs situés aléatoirement dans le fichier.
Voici mon fichier (original) A :
L'objectif serait donc de remplacer dans un nouveau fichier les motifs £Host£ et £Inst£ de chaque ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SERVICE;ADD;£Host£;Template;Template_£Inst£;tutu SERVICE;£Host£;Template;;1;Servcice_£Inst£;tutu;Fic;£Inst£ SERVICE;£Host£;Template;1;Servcice_£Inst£;tutu;Fic;£Inst£ SERVICE;£Host£;Template;Servcice_£Inst£;tutu;Fic;£Inst£;toto £Inst£;1
J'aurai souhaité exécuter cette commande via awk mais j'avoue peiner un peu avec les caractères spéciaux qui permettent dans mon cas de me servir de délimiteur sur mon motif...
Voici mon script actuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #!/bin/bash ficENT=/home/pi/scripts/FicOri ficSOR=/home/pi/scripts/FicOKI var1=monserveur var2=inst-01-btch awk -v v1=$var1 -v v2=$var2 ' { gsub("£Host£", v1) gsub("£Inst£", v2) print }' $ficENT >> $ficSOR exit
Je n'arrive pas à échapper le caractère "£".
Le résultat attendu serait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SERVICE;ADD;monserveur;Template;Template_inst-01-btch;tutu SERVICE;monserveur;Template;;1;Servcice_inst-01-btch;tutu;Fic;inst-01-btch SERVICE;monserveur;Template;1;Servcice_inst-01-btch;tutu;Fic;inst-01-btch SERVICE;monserveur;Template;Servcice_inst-01-btch;tutu;Fic;inst-01-btch;toto inst-01-btch;1
Auriez-vous SVP une piste ou une solution pour résoudre mon PB ?
Par avance merci
Partager