我正在尝试在 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/