[Cygwin] Caractères espace dans une variable

Résolu/Fermé
cestrade - 6 févr. 2008 à 15:26
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 6 févr. 2008 à 16:50
Bonjour,

J'ai développé un script qui permet de substituer le titre d'une page html par un texte rentré par l'utilisateur.

code :
echo "Enter new gallery title :"
read gallery_new_title
blabla ...
sed -e's/<title>.*<\/title>/<title>'$gallery_new_title'<\/title>/' -e's/<span class="textbg">.*<\/span>/<span class="textbg">'$gallery_new_title'<\/span>/' index.html > tmp.txt

Tout va bien tant que l'utilisateur ne rentre pas d'espace(s) dans son titre. Mais dès qu'il y en a un espace (ou autre caractère spécial), le sed plante...

Ma question est : y a t'il un caractère qui permettrait d'"annuler" cet espace ?
J'ai essayé :
"nouveau\ titre"
"nouveau\\ titre"
"nouveau\x08titre" (08=valeur ascii de l'espace)
etc...

Quelqu'un a t'il une idée ?
Merci d'avance, Christophe
A voir également:

3 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
6 févr. 2008 à 16:00
Salut,
$ gallery_new_title="Mon titre avec des espaces"

$ echo "$gallery_new_title"
Mon titre avec des espaces

$ echo "<title>Ancien titre</title>" | sed -e 's/<title>.*<\/title>/<title>'$gallery_new_title'<\/title>/'
sed: -e expression n°1, caractère 31: commande `s' inachevée

$ echo "<title>Ancien titre</title>" | sed -e "s/<title>.*<\/title>/<title>$gallery_new_title<\/title>/"
<title>Mon titre avec des espaces</title>
$
;-))
1
thanks jipicy !!

force m'est d'avouer que ca marche...
des fois je me demande si c'est trop simple ou si c'est moi qui suis trop nul... ;-)

A+
Christophe
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
6 févr. 2008 à 16:50
Les quotes c'est l'enfer, donc rassures-toi, t'es pas nul ;-)))
0