Awk avec SED

Résolu
pcsystemd Messages postés 734 Statut Membre -  
pcsystemd Messages postés 734 Statut Membre -
Bonjour,

j'ai une variable de la sorte :
NOM="'echo "$i" | awk -F '|' '{print $2}' | sed -e "s/'/\\\'/g"'"

Mon but est d'ajouter un \ lorsque dans ma chaine il y a une "côte" comme par exemple dans "L'immobilier" ce qui doit devenir "L\'immobilier"
Apparement cela ne fonctionne pas avec mon
sed -e "s/'/\\\'/g"


Une idée?
Merci



L'accès au savoir est la première liberté que chaque homme devrait avoir.

3 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Pourtant...

    $ echo "L'immobilier" | sed "s/'/\\\&/"
    L\'immobilier

    ;-\
    0
  2. pcsystemd Messages postés 734 Statut Membre 23
     
    Oui trop bizzare. Moi aussi en console en déclarant une variable cela fonctionne mais depuis mon script shell avec le AWK cela ne fonctionne pas!!!
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Je pense que le problème vient de l'ancienne syntaxe avec les quotes inverses :

      NOM="'echo "$i" | awk -F '|' '{print $2}' | sed -e "s/'/\\\'/g"'"


      Essaies plutôt comme ça (si ton système et shell le permet) :

      NOM="$(echo "$i" | awk -F '|' '{print $2}' | sed -e "s/'/\\\'/g")"
      0
  3. pcsystemd Messages postés 734 Statut Membre 23
     
    Génial, cela fonctionne formater de cette maniére. Cool, merci beaucoup.
    0