Awk avec SED

Résolu/Fermé
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 - Modifié par pcsystemd le 28/04/2011 à 16:33
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 - 29 avril 2011 à 11:37
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
28 avril 2011 à 16:49
Salut,

Pourtant...

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

;-\
0
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 22
28 avril 2011 à 16:55
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
28 avril 2011 à 17:32
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 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 22
29 avril 2011 à 11:37
Génial, cela fonctionne formater de cette maniére. Cool, merci beaucoup.
0