Awk avec SED

Résolu
pcsystemd Messages postés 702 Date d'inscription   Statut Membre Dernière intervention   -  
pcsystemd Messages postés 702 Date d'inscription   Statut Membre Dernière intervention   -
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

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

Pourtant...

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

;-\
0
pcsystemd Messages postés 702 Date d'inscription   Statut Membre Dernière intervention   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
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
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
pcsystemd Messages postés 702 Date d'inscription   Statut Membre Dernière intervention   23
 
Génial, cela fonctionne formater de cette maniére. Cool, merci beaucoup.
0