Commande Perl dans Shell Unix

Résolu
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.
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. Modérateur
    Salut,

    Change tes quotes simples par des guillemets autour de l'expression...
    0
    1. 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
  2. Modérateur
    Alors essaie comme ça :
    perl -pi -e 's/(.*)/date#'"${ACTIVITY_INSTANCE_ID}"'#$.#$1#'"${V_INTERFACE_ID}"'#1/' ${FIC_DATA} 
    ;-))
    0
    1. ça marche !!!!

      t un chef !!!

      merci
      0
    2. Modérateur
      @lami20jSalut,

      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
    3. Modérateur
      @jipicySalut,

      merci pour les précisions ;-))
      0