[Cygwin] Caractères espace dans une variable
Résolu
cestrade
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
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
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:
- [Cygwin] Caractères espace dans une variable
- Espace insécable - Guide
- Espace de stockage gmail plein - Guide
- Caractères ascii - Guide
- Caractères spéciaux - Guide
- Espace stockage google - Guide
3 réponses
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> $;-))