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

Shell脚本(Bash)中如何移除字符串末尾指定个数的字符?

Bash脚本中移除变量末尾4个字符的实现方法

下面是几种实用的方式,帮你把reponame变量的最后4个字符去掉,赋值给新变量repo:

方法一:Bash参数扩展(推荐)

这是Bash原生的字符串处理方式,高效且不需要调用外部命令:

reponame="testrepo.git"
repo="${reponame::-4}"
echo "$repo"  # 输出:testrepo

${reponame::-4}的含义是:从字符串开头截取,直到倒数第4个字符的位置,刚好去掉末尾的4个字符。

方法二:使用cut命令

适用于单字节字符场景,通过字符位置截取:

reponame="testrepo.git"
# 先获取字符串长度,再计算截取的结束位置
repo=$(echo "$reponame" | cut -c 1-$(( ${#reponame} - 4 )))
echo "$repo"

${#reponame}用于获取变量的字符长度,减去4后得到需要截取的最后位置,cut -c按字符位置完成截取。

方法三:使用sed命令

通过正则匹配替换掉末尾4个字符:

reponame="testrepo.git"
repo=$(echo "$reponame" | sed 's/.\{4\}$//')
echo "$repo"

正则表达式.\{4\}$匹配行尾的任意4个字符,替换为空字符串即可完成截取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 22:35:31