Bonjour,

Je suis un train de faire un programme en korn-shell qui modifie un fichier et j'ai un petit problème.

J'ai un fichier source.txt qui contient :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
...
file = //dir1/dirB/file.txt
...
Je veux modifier ce fichier dest.txtpour obtenir :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
...
file = //dir2/dirA/file.sav
...

Ce que je sait :
le nouveau nom de file est : //dir2/dirA/file.sav il est contenu dans une variable $file
je veux modifier la ligne du fichier source.txt qui commence par : file =

Voici ce que je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
$file="//dir2/dirA/file.sav"
sed -e '/^file.*/${file}/' source.txt > dest.txt
Le problème c'est que mon $file contient des caractères qui sont interprétés par le sed . J'ai pensé à mettre des ` sauf qu'après cela bloque l'interprétation de la variable $file.
Ce que j'ai pensé faire c'est modifer la variable $file en lui ajoutant les caractères d'échapements, mias je ne sais pas comment faire.
Si vous avez une idée pour résoudre ce problème, elle sera la bien venu.
Cdlt,
Chicken huchette