Voila j'ai une portion de script avec utilisation de SED :
quand je l'execute hors de mon script dans une console j'ai bien le contenu de mon fichier TEMPLATE stats.tpl qui est renvoyé vers mon fichier test.txt mais aucune des variables n'est remplacé c'est comme si elles n'était pas interprétées alors qu'elles sont bien déclaré puisque si je fait un echo $VARIABLE dans un shell c'est bon
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
17
18 sed ' s/DATE/'"${DATE}"'/ s/NBPUSH/'"${NBPUSH}"'/ s/NBPUSHOLD/'"${NBPUSHOLD}"'/ s/NBNEWSLETTER/'"${NBNEWSLETTER}"'/ s/NBNEWSLETTEROLD/'"${NBNEWSLETTEROLD}"'/ s/NBCDC/'"${NBCDC}"'/ s/NBCDCOLD/'"${NBCDCOLD}"'/ s/VENTE/'"${VENTE}"'/ s/LOC/'"${LOC}"'/ s/VENTEOLD/'"${VENTEOLD}"'/ s/LOCOLD/'"${LOCOLD}"'/ s/CONFI/'"${CONFI}"'/ s/SIMPL/'"${SIMPL}"'/ s/CONFIOLD/'"${CONFIOLD}"'/ s/SIMPLOLD/'"${SIMPLOLD}"'/ s/DATEOLD/'"${DATEOLD}"'/ ' stats_votes.tpl > test.txt
exemples :
et si j'execute mon script Shell j'ai l'erreur suivante :
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
17
18
19
20
21 $ DATE=`date '+%d-%m-%Y'` DATE=`date '+%d-%m-%Y'` date '+%d-%m-%Y' ++ date +%d-%m-%Y + DATE=14-05-2008 $ echo $DATE echo $DATE + echo 14-05-2008 14-05-2008 $ NBPUSH="$(sed -n '1p' ${TMPDIR}/stat_${DATE}.lst)" NBPUSH="$(sed -n '1p' ${TMPDIR}/stat_${DATE}.lst)" sed -n '1p' ${TMPDIR}/stat_${DATE}.lst ++ sed -n 1p /tmp/stat_14-05-2008.lst + NBPUSH=123 $ echo $NBPUSH + echo 123 123
Pour info je mets le contenu de mon TEMPLATE stats_votes.tpl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sed: -e expression #1, char 295: Extra characters after command Null message body; hope that's ok
Avez vous une idée du problème?Voici les stats au DATE
Push :
il y a PUSH inscriptions au push (contre NBPUSHOLD en DATEOLD)
Newsletter :
il y a NEWSLETTER inscriptions à la newsletter (contre NEWSLETTEROLD en DATEOLD)
Coups :
il y a NBCDC coups programmés (contre NBCDCOLD en DATEOLD)
Nombre de votes simple et double au DATE :
nombre de votes simples : CONFI (contre CONFIOLD en DATEOLD)
nombre de votes doubles : SIMPL (contre SIMPLOLD en DATEOLD)
Nombre de votants au DATE :
nombre de votants simples : VENTE (contre VENTEOLD en DATEOLD)
nombre de votant doubles : LOC (contre LOCOLD en DATEOLD)
Bonne journée.
Merci
Partager