2011-07-19 30 views

回答

60

试试这个:

website=$(sed 's|/|\\/|g' <<< $website) 

击居然还支持这种替代natively的:

${parameter/pattern/string} - 与string取代pattern的第一场比赛。
${parameter//pattern/string} - 将pattern的所有匹配项替换为string

因此,你可以这样做:

website=${website//\//\\/} 
+0

本机版本并没有为我带大的可变内容'命令来长工作:' – Artistan

8
echo $website | sed 's/\//\\\//g' 

,或者更好的可读性:

echo $website | sed 's|/|\\/|g' 
+0

它运作良好。请你介意解释这是/ \ // \\\ // g' 和这个|/| \\/| g'? –

+1

'searchreplacecommand | source | target | global(all matches)'你可以在其中使用任何字符作为分隔符('|')。传统上'/'用于分隔符 –

+0

然而当我使用“”和变量。它不插入任何东西。你能弄清楚原因吗?谢谢 –