Bonjour à tous,

j'ai la commande suivante qui fait bien ce que je veux lorsque je l’exécute dans une console :

grep '^\ \+100\+\ \+[0-9]\+\ \+[0-9]\+\ ' pm-3d-dose.dat | sed -e '/^\ \+[0-9]\+\ \+[0-9]\+\ \+190\ /a\ \' > toto.dat

je veux utiliser un script pour la généraliser (à terme je vais utiliser DIALOG).

Donc j'ai commencer le script suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
REGEX1="^\ \+${BIN}\+\ \+[0-9]\+\ \+[0-9]\+\ "
REGEX2="/^\ \+[0-9]\+\ \+[0-9]\+\ \+${NBZ}\ /a\  \\"
et il y a la commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
grep '${REGEX1}' ${PM3D} | sed -e  '${REGEX2}' > toto.dat
Si je fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
echo "grep '${REGEX1}' ${PM3D} | sed -e  '${REGEX2}' > toto.dat"
j'ai bien la commande que je veux :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
grep '^\ \+100\+\ \+[0-9]\+\ \+[0-9]\+\ ' pm-3d-dose.dat | sed -e  '/^\ \+[0-9]\+\ \+[0-9]\+\ \+190\ /a\  \' > toto.dat
mais pourtant elle s'exécute pas ! J'ai le message :
sed: -e expression n°1, caractère 0: `{' non refermée

Quelqu'un a une idée ?

Merci d'avance