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

如何使用sed正则移除图片路径中的_ipx/xxx/片段?

解决sed替换图片路径中_ipx片段无效的问题

问题根源

你用的正则/_ipx\/.+?\//gi在regex测试工具中生效,但在sed里没有效果,核心原因是:

  • sed默认使用基础正则表达式(BRE),不支持+?这类非贪婪匹配语法
  • 另外,你需要匹配的/_ipx/xxx/前缀,用[^\/]+(匹配非斜杠字符)比非贪婪匹配更精准高效

可行解决方案

根据你使用的sed版本(GNU/Linux vs macOS/BSD),选择对应命令:

1. GNU sed(Linux环境)

启用扩展正则(-E参数),使用精准匹配的正则:

sed -i -E 's/\/_ipx\/[^\/]+\//\//g' index.html

2. macOS/BSD sed

macOS的sed需要在-i后加空字符串,同时启用扩展正则:

sed -i '' -E 's/\/_ipx\/[^\/]+\//\//g' index.html

正则说明

  • \/_ipx\/:精准匹配路径中的/_ipx/部分,斜杠需转义避免和sed的分隔符冲突
  • [^\/]+:匹配任意数量(至少1个)的非斜杠字符,正好对应w_253,f_webp,q_80这类参数片段
  • \/:匹配参数片段后的斜杠(即/images前的那个斜杠)
  • 替换为\/:保留单个斜杠,最终得到/images/img.webp这类干净路径

效果验证

运行命令后,原img标签的src和srcset会被替换为:

<img src="/images/img.webp"
alt="Testing a Custom Component"
sizes="(max-width: 640px) 100vw, 33vw"
srcset="/images/img.webp 640w, /images/img.webp 253w" />

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 04:01:06