Bonsoir,

J'ai une chaine de caractères contenue dans une variable $saisie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
saisie='<a href="http://treaties.un.org/pages/ViewDetails.aspx?src=TREATY&amp;mtdsg_no=IV-3-a&amp;chapter=4&amp;lang=fr" target="_self" name="lien externe">consulter cette page...</a>'
Comme vous le voyez, cette chaîne contient quelques caractères "&" provenant d'une Url que j'ai récupérée un petit plus haut dans mon script.

Je veux insérer cet variable (avec son Url) dans un fichier texte avec la commande sed dans la ligne $ligne_choisie

Code : Sélectionner tout - Visualiser dans une fenêtre à part
sed -i "${ligne_choisie} s#µµµµµµ#${saisie}#" temp
et ça remplace mon µµµµµµ par ma variable $saisie, mais ça me remplace aussi tous les & de cette variable par µµµµµµ. Normal, puisque, si j'ai bien compris, "le métacaractère "&" (esperluette) va nous permettre de remplacer toutes chaînes de caractères mises en correspondance par le motif (ou l'expression régulière) fourni en 1er argument".
Mais ça ne correspond pas à ce que je souhaite. Alors je tente

Code : Sélectionner tout - Visualiser dans une fenêtre à part
sed -i "${ligne_choisie} s#µµµµµµ#\&#" temp
Dans la commande que j'ai reproduite ci-dessus, j'ai essayé d'échapper le "&", mais ça ne va pas mieux que sans l'echapper. Si dans mon Url je substitue tous les & par des £, ma commande sed initiale fonctionne, mais ça ne fait que repousser le problème un peu plus loin, après, je n'arrive pas à remplacer £ par &...

Que faire ?

Cordialement