(4 risposte)
Chiuso 5 anni fa.
Voglio usare sed
per trasformare una barra in una barra rovesciata e una barra, ad esempio /
-> /
. Ma non funziona. Ecco un piccolo esempio:
#!/bin/bash
TEST=/etc/hallo
echo $TEST
echo $TEST | sed "s/hallo/bello/g"
echo $TEST | sed "s///\//g"
L'output delle prime tre righe è quello presupposto. Ma l'ultimo non funziona. Come mai? Come correggere l'ultima parte?
Risposta accettata:
Usa virgolette singole per l'espressione che hai usato:
sed 's///\//g'
Tra virgolette, ha un significato speciale, quindi devi eseguire il backslash:
sed "s///\\//g"
Ma è più pulito cambiare il delimitatore:
sed 's=/=\/=g'
sed "s=/=\/=g"