You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下使用Vi替换/usr为usr时E488报错的解决方法

解决Vi替换时的E488错误:正确替换/usr为usr

兄弟,你碰到的这个E488: Trailing characters错误太典型了——问题出在你用了/作为替换命令的分隔符,但你要替换的目标字符串里也包含/,Vi会把第二个/当成命令的结束标记,后面的usr就成了多余的末尾字符,自然报错。

给你两种靠谱的解决方法:

方法1:更换分隔符(推荐,更直观)

Vi的替换命令支持用其他非特殊字符作为分隔符,比如#、@或者%,只要你的查找/替换字符串里不包含这个字符就行。比如用#的话,命令应该写成:

:%s#/usr#usr#g

拆解一下这个命令的各个部分:

  • %:表示对整个文件的所有行进行操作
  • s:代表substitute(替换)操作
  • #:自定义的分隔符(替代默认的/)
  • /usr:要查找的目标字符串
  • usr:替换后的内容
  • g:全局替换(每一行里所有匹配的/usr都会被替换,不加g的话每一行只替换第一个匹配项)

方法2:转义分隔符

如果你坚持要用默认的/作为分隔符,那需要把查找字符串里的/用反斜杠\转义,告诉Vi这个/是字符串的一部分,不是命令的分隔符。命令如下:

:%s/\/usr/usr/g

这里的\/就是转义后的/,Vi会正确识别它是你要查找的内容,而不是命令的结束标记。

举个例子,假设你的文件里有一行export PATH=/usr/bin:$PATH,用上面任意一种命令执行后,都会变成export PATH=usr/bin:$PATH,完全符合你的需求。

内容的提问来源于stack exchange,提问作者Muhammad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:48:51