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

Shell脚本中如何从含DEV-UI前缀的变量A提取DEV到变量B?

提取变量前缀的Shell实现方法

针对你这个需求,不管变量A是DEV-UI、DEV-UI2还是DEV-UI*,要提取开头的DEV到变量B,用cut或者Shell内置的参数展开都能轻松实现,我给你两种常用方案:

方案1:使用cut命令

利用-作为分隔符,提取第一个字段即可:

# 示例变量赋值
A="DEV-UI2"
# 提取DEV到B
B=$(echo "$A" | cut -d'-' -f1)
# 验证结果
echo "$B"  # 输出 DEV

原理:-d'-'指定分隔符为-,-f1表示取分割后的第一个字段,不管-后面跟着什么内容,都能精准拿到开头的DEV。

方案2:使用Shell参数展开(更高效)

如果不想启动子进程(cut会额外开子进程),可以用Shell内置的参数展开功能,性能更优:

# 示例变量赋值
A="DEV-UI*"
# 从末尾删除最长匹配的"-*"(即删除"-"及之后的所有内容)
B="${A%%-*}"
# 验证结果
echo "$B"  # 输出 DEV

原理:${var%%pattern}是Shell的参数展开语法,会从变量var的末尾开始,删除最长匹配pattern的部分。这里-*匹配-后面的任意内容,删掉后就只剩下开头的DEV了。

这两种方法都能覆盖你列出的所有A的取值情况,完全满足需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:55:37