(4 réponses)
Fermé il y a 5 ans.
Je veux utiliser sed
pour changer une barre oblique en une barre oblique inverse et une barre oblique, c'est-à-dire /
-> /
. Mais cela ne fonctionne pas. Voici un petit exemple :
#!/bin/bash
TEST=/etc/hallo
echo $TEST
echo $TEST | sed "s/hallo/bello/g"
echo $TEST | sed "s///\//g"
La sortie des trois premières lignes est telle que supposée. Mais le dernier ne fonctionne pas. Pourquoi? Comment corriger la dernière partie ?
Réponse acceptée :
Utilisez des guillemets simples pour l'expression que vous avez utilisée :
sed 's///\//g'
Entre guillemets doubles, a une signification particulière, vous devez donc l'inverser :
sed "s///\\//g"
Mais c'est plus propre de changer le délimiteur :
sed 's=/=\/=g'
sed "s=/=\/=g"