2011-12-17 59 views
3

我在bash中寫了一個腳本來替換old-link-url到new-link-url 我的問題是sed無法替換因爲斜線的網址。如果我只放一些文本,它的作品。用sed替換old-link-url到new-link-url

我的代碼

sed -e s/"$old_link"/"$new_link"/g wget2.html > playlist.txt 

回答

11

sed支持任何字符作爲分隔符,所以如果你想更換模式包含/,使用不同的分隔符。最常用的是#|

sed 's|foo|bar|g' input 
sed 's#foo#bar#g' input 
+0

謝謝!曾與# – 2011-12-17 11:27:48

1

不要忘了把double quotes如果您在sed替代使用variables。另外,如果你的變量有/,那麼對於sed使用不同的分隔符。您可以使用_,%,|,#等等。

所以可能會有這樣的工作 -

sed -e "s_"$old_link"_"$new_link"_g" wget2.html > playlist.txt 
+0

當你說`更多'你的意思是我想要的任何字符,或者是否有接受分隔符字符的列表? – sergserg 2013-01-09 15:41:27