sed et caractères spéciaux

sed et caractères spéciaux - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 19-11-2004 à 17:47:40    

Je souhaite remplacer les 4 caractères suivants
. / ' et espace
par _ dans un variable.
 
J'ai essayé  
agence_tag=`echo $agence | sed -e 's/[.\/\' ]/_/g'`
mais ça ne marche pas (je récupère une chaîne vide).
 
Quelle est la bonne syntaxe ? Merci ?

Reply

Marsh Posté le 19-11-2004 à 17:47:40   

Reply

Marsh Posté le 19-11-2004 à 17:56:31    

Après plusieurs test c'est juste le ' qui pose problème.
Quelqu'un a une idée ?

Reply

Marsh Posté le 22-11-2004 à 11:54:47    

pour ça, utilise plutot tr
Et vaux mieux faire le test opposé. cad remplacer tout ce qui n'est pas alphanumérique par _

Reply

Marsh Posté le 22-11-2004 à 14:02:40    

fguilleme a écrit :

pour ça, utilise plutot tr
Et vaux mieux faire le test opposé. cad remplacer tout ce qui n'est pas alphanumérique par _


 
Ah oui, pas bête ça.  :jap: Faut que je trouve la syntaxe maintenant...

Reply

Marsh Posté le 07-12-2004 à 20:06:03    

Peanuty a écrit :

Je souhaite remplacer les 4 caractères suivants
. / ' et espace
par _ dans un variable.
 
J'ai essayé  
agence_tag=`echo $agence | sed -e 's/[.\/\' ]/_/g'`
mais ça ne marche pas (je récupère une chaîne vide).
 
Quelle est la bonne syntaxe ? Merci ?


 
en live, test moi ca :
 


agence_tag="`echo $agence | sed -n -e 's/\./_/gp' -e 's/\//_/gp' -e 's/\'/_/gp' -e 's/ /_/gp'`"


Message édité par Giz le 07-12-2004 à 20:10:07
Reply

Marsh Posté le 21-03-2005 à 14:14:54    

c pas vraiment une solution, mais arrive au resultat voulu:
 

Code :
  1. agence_tag=`echo $agence | sed -e "s/[\.\/\' ]/_/g"`


 
edit: si qq1 a la solution pour substituer le simple guillemet et sans utiliser le double guillemet pour sed, je suis preneur...


Message édité par xmulder le 21-03-2005 à 14:17:59
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed