Awk avec SED

[Résolu/Fermé]
Signaler
Messages postés
608
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 octobre 2021
-
Messages postés
608
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 octobre 2021
-
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

Messages postés
36324
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 423
Salut,

Pourtant...

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

;-\
Messages postés
608
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 octobre 2021
18
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!!!
Messages postés
36324
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 423
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")"
Messages postés
608
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 octobre 2021
18
Génial, cela fonctionne formater de cette maniére. Cool, merci beaucoup.