Awk avec SED

Résolu
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. Contributeur
    Salut,

    Pourtant...

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

    ;-\
    0
    1. 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. Contributeur
        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
    2. Génial, cela fonctionne formater de cette maniére. Cool, merci beaucoup.
      0