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

已能提取Git仓库名,如何用Shell命令提取项目名smat?

提取Git URL中的项目名(smat)

问题背景

你的Git URL为:

https://xcg5847@git.rz.bankenit.de/scm/smat/sma-mes-test.git

已经用以下命令成功提取仓库名sma-mes-test:

git config --local remote.origin.url | sed -n 's#.*/\([^.]*\)\.git#\1#p'

现在需要提取URL中的项目名smat,这里提供几个简单可行的方法:

解决方案

方法1:用sed正则提取

直接匹配URL中/scm/之后、下一个/之前的内容:

git config --local remote.origin.url | sed -n 's#.*/scm/\([^/]*\)/.*#\1#p'

原理:

  • .* 匹配到/scm/为止的所有字符
  • \([^/]*\) 专门捕获/scm/后到下一个/之间的内容(也就是项目名)
  • 最后用\1输出捕获到的内容

方法2:用awk按分隔符拆分(最直观)

把URL按/拆分成多个字段,直接取对应位置的字段:

git config --local remote.origin.url | awk -F '/' '{print $5}'

原理:

  • -F '/' 指定用/作为分割符,原URL拆分后第5个字段就是smat

方法3:用dirname+basename分步提取

先去掉URL末尾的仓库名,再取剩余路径的最后一段:

git config --local remote.origin.url | dirname | basename

原理:

  1. dirname 会去掉URL最后一段(sma-mes-test.git),得到https://xcg5847@git.rz.bankenit.de/scm/smat
  2. basename 提取这个路径的最后一段,就是smat

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 04:45:41