【发布时间】:2013-08-12 13:39:01
【问题描述】:
我正在尝试在 vi 中运行此命令
:s/href="\//href="http:\/\/website.com\/folder\/subfolder\//g
但收到此错误E486: Pattern not found: href="\/
我做错了什么?
【问题讨论】:
我正在尝试在 vi 中运行此命令
:s/href="\//href="http:\/\/website.com\/folder\/subfolder\//g
但收到此错误E486: Pattern not found: href="\/
我做错了什么?
【问题讨论】:
该错误与它所说的差不多。 vi 在您的文件中没有找到任何模式 href="/(忽略转义)。
如果您的搜索有很多斜杠,有时使用/ 以外的其他内容作为搜索分隔符会更容易,因此您无需将它们全部转义。尝试用# 替换/ 分隔符,如下所示:
s#href="/#href="http://website.com/folder/subfolder/#g
那么也许你可以更容易地看出你的模式有什么问题:
【讨论】:
因为 '/' 字符很多,请尝试使用另一个分隔符,例如 ',':
:s,some/pattern/with/slashes,new/string,g
【讨论】:
在另一个注意事项上。这种替代对我有用。只是复制和粘贴。您是否在尝试执行替换的同一行? “g”在您所在的线路上是全局的。如果您需要对文件执行搜索和替换,请使用 :%s/
【讨论】: