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

如何使用Bash从GitHub仓库URL中提取项目名称?

实现方案

下面是几种Shell环境下可直接使用的实现方法,均兼容HTTPS格式的GitHub仓库地址,其中参数扩展、awk、sed方案同时兼容SSH格式的仓库地址,不受仓库所属主体/路径前缀影响:

  • 方法1:使用basename命令(最简单的HTTPS地址适配方案,仅需一行)
url='https://github.com/Project/name-app.git'
result=$(basename "$url" .git)
echo $result

说明:basename会自动提取路径的最后一段,第二个参数指定需要移除的后缀,直接得到目标项目名

  • 方法2:纯Bash参数扩展(无外部命令依赖,执行效率最高)
url='https://github.com/Project/name-app.git'
# 移除所有字符直到最后一个/
temp=${url##*/}
# 移除末尾的.git后缀
result=${temp%.git}
echo $result
  • 方法3:使用awk处理
url='https://github.com/Project/name-app.git'
result=$(echo "$url" | awk -F/ '{sub(/\.git$/, "", $NF); print $NF}')
echo $result
  • 方法4:使用sed正则匹配
url='https://github.com/Project/name-app.git'
result=$(echo "$url" | sed 's/.*\/\([^/]*\)\.git$/\1/')
echo $result

所有方法执行后输出均为name-app,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:09:03