Ce n'est pas encore au point, suis même pas certain d'avoir compris ton problème :p
le fichier à traiter : ceci est un test
!--$FOO-- Aahahaha truc bidule
machin !--$BAR--
le script : FOO="FOOOOOO!!"
BAR="BBAAARRR!!"
cat test.txt |while read ligne;
do
if [ $(echo ${ligne} | sed 's/^.*\(!--\$\).*$/1円/') = "!--\$" ]
then
echo ${ligne} | sed -e 's/!--\$\(.*\)--/\${1円}/g'
else
echo ${ligne}
fi
done
le résultat : ceci est un test
${FOO} Aahahaha truc bidule
machin ${BAR}
On trouve le commentaire à changer, on le remplace par le nom de la variable avec la syntax pour que le shell l'interprète comme une variable, mais je n'arrive pas à faire en sorte que le shell l'interprète comme tel et pas comme une chaine de caractère.
# Un début de piste :
Posté par Raphaël . En réponse au message Remplacer une séquence par le contenu d'une variable, dans un fichier. Évalué à 2.
le fichier à traiter :
ceci est un test
!--$FOO-- Aahahaha truc bidule
machin !--$BAR--
le script :
FOO="FOOOOOO!!"
BAR="BBAAARRR!!"
cat test.txt |while read ligne;
do
if [ $(echo ${ligne} | sed 's/^.*\(!--\$\).*$/1円/') = "!--\$" ]
then
echo ${ligne} | sed -e 's/!--\$\(.*\)--/\${1円}/g'
else
echo ${ligne}
fi
done
le résultat :
ceci est un test
${FOO} Aahahaha truc bidule
machin ${BAR}
On trouve le commentaire à changer, on le remplace par le nom de la variable avec la syntax pour que le shell l'interprète comme une variable, mais je n'arrive pas à faire en sorte que le shell l'interprète comme tel et pas comme une chaine de caractère.