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

使用sed向指定路径插入manifests/失败,寻求技术解决方案

解决方案

1. 使用sed命令批量替换

要将所有smashdocs/backend/sd[0-9]+格式的路径修改为smashdocs/backend/manifests/sd[0-9]+,需用替换模式而非插入模式,正确命令如下:

直接修改目标文件

sed -i 's/smashdocs\/backend\/sd\([0-9]*\)/smashdocs\/backend\/manifests\/sd\1/g' 你的文件名

命令解释

  • s/原模式/替换模式/g:sed的全局替换语法,g确保替换所有匹配项
  • smashdocs\/backend\/sd\([0-9]*\):匹配smashdocs/backend/sd后跟任意数字的路径,\([0-9]*\)作为捕获组保留后续数字部分
  • smashdocs\/backend\/manifests\/sd\1:替换为目标路径,\1引用前面捕获到的数字内容

先预览替换效果(不修改原文件)

sed 's/smashdocs\/backend\/sd\([0-9]*\)/smashdocs\/backend\/manifests\/sd\1/g' 你的文件名

2. 在Vim编辑器中替换

若在Vim内操作,执行以下命令:

:%s/smashdocs\/backend\/sd\([0-9]*\)/smashdocs\/backend\/manifests\/sd\1/g
  • %表示对所有行执行替换操作
  • 替换逻辑与sed命令一致

原命令失效原因

你之前使用的/sd/i manifests是在匹配到"sd"的行上方插入一行manifests ,并非在路径中间插入目录,完全不符合需求,因此没有生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 00:55:29