Tato otázka zde již obsahuje odpovědi :Jaké znaky musím ukončit při použití sed ve skriptu sh?
(4 odpovědi)
Uzavřeno před 5 lety.
Linux
(4 odpovědi)
Uzavřeno před 5 lety.
Chci použít sed
změnit lomítko na zpětné lomítko a lomítko, tj. /
-> /
. Ale to nejde. Zde malý příklad:
#!/bin/bash
TEST=/etc/hallo
echo $TEST
echo $TEST | sed "s/hallo/bello/g"
echo $TEST | sed "s///\//g"
Výstup prvních tří řádků je podle předpokladu. Ten poslední ale nefunguje. Proč? Jak opravit poslední část?
Přijatá odpověď:
Pro výraz, který jste použili, použijte jednoduché uvozovky:
sed 's///\//g'
Ve dvojitých uvozovkách má speciální význam, takže ho musíte lomítko :
sed "s///\\//g"
Ale je čistší změnit oddělovač:
sed 's=/=\/=g'
sed "s=/=\/=g"