Commande Perl dans Shell Unix

Résolu
Sir_rob1 -  
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité -
Bonjour,

Je voudrai exécuter une commande Perl dans un Shell UNIX.

Exemple :

perl -pi -e 's/(.*)/date#${ACTIVITY_INSTANCE_ID}#$.#$1#${V_INTERFACE_ID}#1/' ${FIC_DATA}

Mais apparemment lors de l'exécution de cette commande, les valeurs des 2 variables ${ACTIVITY_INSTANCE_ID} et ${V_INTERFACE_ID} ne sont pas reconnues.

Quelqu'un at'il une explication voire une solution à me proposer ?

Merci d'avance.
A voir également:

2 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Change tes quotes simples par des guillemets autour de l'expression...
0
Sir_rob1
 
Merci pour ta réponse.

Effectivement maintenant mes 2 variables sont bien reconnues mais maintenant c'est ma chaine de caractère correspodant à $1 dans ma commande qui n'est plus reconnue.

As tu une idée?
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Alors essaie comme ça :
perl -pi -e 's/(.*)/date#'"${ACTIVITY_INSTANCE_ID}"'#$.#$1#'"${V_INTERFACE_ID}"'#1/' ${FIC_DATA} 
;-))
0
Sir_rob1
 
ça marche !!!!

t un chef !!!

merci
0
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570 > Sir_rob1
 
alors, on peut mettre en résolu celui-là http://www.commentcamarche.net/forum/affich 5736670 commande sed a la place de awk#dernier

en attendant bien sûr une solution sed ;-))
0
jipicy Messages postés 41342 Statut Modérateur 4 896 > lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité
 
Salut,

C'est pas possible de le faire avec "sed", sans passer par une solution très complexe surtout au niveau de la numérotation des lignes, sed n'étant pas fait pour, et puis ta solution est plus que parfaite ;-))
0
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570 > jipicy Messages postés 41342 Statut Modérateur
 
Salut,

merci pour les précisions ;-))
0