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

Bash截取字符串前缀删除正常但后缀无法删除是什么原因?

Bash批量字符串后缀截取失效解决方案

故障原因

  • 语法错误:变量赋值语句与echo命令未做分隔直接写在同一行,Bash会将colonna2_newname=${tmp%exception=*}识别为echo命令的临时环境变量,仅对echo子进程生效,且echo执行前会先完成变量展开,最终输出的是未做后缀裁剪的原始值。
  • 匹配规则错误:${tmp%exception=*}的作用是删除字符串末尾匹配exception=*的最短片段,但你的字符串末尾为[gbkey=CDS],无法匹配该模式,因此后缀没有任何修改。你需要匹配从_[exception=到字符串末尾的所有内容,需补全模式前缀。

修正后代码

for row in $colonna2; do 
    tmp=${row#*lcl|}
    colonna2_newname=${tmp%_\[exception=*}
    echo "$colonna2_newname"
done

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 04:42:01