replace old-link-url to new-link-url with sed

2019-07-04 06:32发布

I'm writing a script in bash that would replace old-link-url to new-link-url my problem is that sed can't replace the url because of the slashes. If i put just some text it works.

my code

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

2条回答
啃猪蹄的小仙女
2楼-- · 2019-07-04 07:13

Don't forget to put double quotes if you are using variables in sed substitution. Also, if your variable have / then use a different delimiter for sed. You can use _, %, |, # and many more.

So may be something like this would work -

sed -e "s_"$old_link"_"$new_link"_g" wget2.html > playlist.txt
查看更多
贪生不怕死
3楼-- · 2019-07-04 07:19

sed supports any character as separator, so if the pattern you are trying to replace contains /, use a different separator. Most commonly used are # and |

sed  's|foo|bar|g' input
sed  's#foo#bar#g' input
查看更多
登录 后发表回答