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

如何使用sed或awk替换URL中所有参数值为自定义内容

问题原因

你原有命令的正则=[^&]*会匹配=之后所有非&的字符,会把URL中参数分隔符?也匹配进去,直接吞掉了?one部分的前缀,导致输出不符合预期。

实现方案

sed 实现

调整正则,限制=后面的匹配截止到&、?或者行尾即可:

echo "http://sub.domain.com/file.jsp;jsessionid=2e62dbe69850d25bc7c6424ba59db?one=15&two=16" | sed -e 's!=[^&?]*!=SOMETHING!g'

执行后输出就是你期望的结果:

http://sub.domain.com/file.jsp;jsessionid=SOMETHING?one=SOMETHING&two=SOMETHING

awk 实现

同理用全局替换规则即可:

echo "http://sub.domain.com/file.jsp;jsessionid=2e62dbe69850d25bc7c6424ba59db?one=15&two=16" | awk '{gsub(/=[^&?]*/,"=SOMETHING");print}'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:54:10