【问题标题】:replace old-link-url to new-link-url with sed用 sed 将 old-link-url 替换为 new-link-url
【发布时间】: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


    【解决方案1】:

    sed 支持 any 字符作为分隔符,因此如果您尝试替换的模式包含 /,请使用不同的分隔符。最常用的是#和|

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

    【讨论】:

      【解决方案2】:

      如果您使用variables 替换sed,请不要忘记输入double quotes。此外,如果您的变量有/,则为sed 使用不同的分隔符。您可以使用_、%、|、# 等等。

      所以可能这样的事情会起作用 -

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

      【讨论】:

      • 当您说many more 时,您是指我想要的任何字符,还是有可接受的分隔符列表?
      猜你喜欢
      • 2015-10-16
      • 2018-09-16
      • 2017-03-19
      • 2018-03-15
      • 1970-01-01
      • 2019-07-14
      • 2021-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多