Vi搜索并用斜杠替换

时间:2013-08-10 21:59:09

标签: linux replace vi

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

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

但是出现了此错误E486: Pattern not found: href="\/

我做错了什么?

3 个答案:

答案 0 :(得分:2)

这个错误几乎意味着它所说的。 vi在您的文件中找不到任何模式href="/(忽略转义)。

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

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

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

答案 1 :(得分:0)

因为有很多'/'字符,请尝试使用其他分隔符,ex',':

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

答案 2 :(得分:0)

另一方面。那个替代对我有用。刚复制并粘贴。您是否在尝试执行替换的同一行? ''是指您所在的全球线路。如果您需要在文件上执行搜索和替换,请使用:%s /