【发布时间】:2012-01-22 13:46:00
【问题描述】:
我正在用 bash 编写一个脚本,将 old-link-url 替换为 new-link-url 我的问题是 sed 由于斜杠而无法替换 url。如果我只输入一些文字就可以了。
我的代码
sed -e s/"$old_link"/"$new_link"/g wget2.html > playlist.txt
【问题讨论】:
标签: linux bash shell sed debian
我正在用 bash 编写一个脚本,将 old-link-url 替换为 new-link-url 我的问题是 sed 由于斜杠而无法替换 url。如果我只输入一些文字就可以了。
我的代码
sed -e s/"$old_link"/"$new_link"/g wget2.html > playlist.txt
【问题讨论】:
标签: linux bash shell sed debian
sed 支持 any 字符作为分隔符,因此如果您尝试替换的模式包含 /,请使用不同的分隔符。最常用的是#和|
sed 's|foo|bar|g' input
sed 's#foo#bar#g' input
【讨论】:
如果您使用variables 替换sed,请不要忘记输入double quotes。此外,如果您的变量有/,则为sed 使用不同的分隔符。您可以使用_、%、|、# 等等。
所以可能这样的事情会起作用 -
sed -e "s_"$old_link"_"$new_link"_g" wget2.html > playlist.txt
【讨论】:
many more 时,您是指我想要的任何字符,还是有可接受的分隔符列表?