bonjour,
c'est du bash.
j'aimerais récupérer 4 lignes d'un fichier pour les mettre dans un tableau.
Ces lignes contiennent des noms de variables.
J'ai fait des essais avec read et sed
---------
# on remplit le tableau des lignes a incruster
#k=$lig_deb
#nk=0
#while [ "$k" -ge "$lig_deb" ] && [ "$k" -le "$lig_fin" ] # tant que
k >= ligne début et k <= ligne fin
#do
# nlig=$(($k+1))
# nlig1="$nlig""p"
# my_incrust[$nk]=`sed -n $nlig1 $template`
# eval my_incrust[$nk]= ${my_incrust[$nk]}
# nk=$(($nk+1))
# k=$(($k+1))
#done
i=0
j=0
while read aLine
do
if [ $i -ge $lig_deb ] && [ $i -le $lig_fin ]
then
eval my_incrust[$j]="$aLine"
j=$(($j+1))
fi
i=$(($i+1))
done < $template
---------
le type de ligne que je récupère du fichier
Votre télécopie ▒| $number a été envoyée avec succès.
Il y a 2 problèmes :
1 problème d'encodage
1 problème d'interprétation de la variable
++ sed -n 7p etc/templates/fr/notify-done.txt^M
+ my_incrust[$nk]='Votre télécopie ▒| $number a été envoyée avec succès.'
On m'a conseillé d'utiliser eval, mais ce n'est pas la solution non plus
++ sed -n 7p etc/templates/fr/notify-done.txt^M
+ my_incrust[$nk]='Votre télécopie ▒| $number a été envoyée avec succès.'^M
+ eval 'my_incrust[0]=' Votre télécopie ▒| '$number' a été envoyée avec
succès.^M
++ my_incrust[0]=^M
++ Votre télécopie ▒| 9095xxxxxxx a été envoyée avec succès.^M
bin/notify-sme: line 220: Votre: command not found^
Si quelqu'un a une idée...
Anne