【问题标题】:Vi search and replace with slashesvi 用斜线搜索和替换
【发布时间】:2013-08-12 13:39:01
【问题描述】:

我正在尝试在 vi 中运行此命令

:s/href="\//href="http:\/\/website.com\/folder\/subfolder\//g

但收到此错误E486: Pattern not found: href="\/

我做错了什么?

【问题讨论】:

    标签: linux replace vi


    【解决方案1】:

    该错误与它所说的差不多。 vi 在您的文件中没有找到任何模式 href="/(忽略转义)。

    如果您的搜索有很多斜杠,有时使用/ 以外的其他内容作为搜索分隔符会更容易,因此您无需将它们全部转义。尝试用# 替换/ 分隔符,如下所示:

    s#href="/#href="http://website.com/folder/subfolder/#g

    那么也许你可以更容易地看出你的模式有什么问题:

    【讨论】:

      【解决方案2】:

      因为 '/' 字符很多,请尝试使用另一个分隔符,例如 ',':

      :s,some/pattern/with/slashes,new/string,g
      

      【讨论】:

        【解决方案3】:

        在另一个注意事项上。这种替代对我有用。只是复制和粘贴。您是否在尝试执行替换的同一行? “g”在您所在的线路上是全局的。如果您需要对文件执行搜索和替换,请使用 :%s/

        【讨论】:

          猜你喜欢
          • 2010-12-13
          • 2015-03-08
          • 2016-10-17
          • 2017-01-27
          • 2017-01-13
          • 2013-07-13
          • 1970-01-01
          • 2014-12-09
          • 2012-06-06
          相关资源
          最近更新 更多