首页 > 解决方案 > 如何在zsh中的第二个符号之后/之前捕获文本

问题描述

例如我有一个 git 分支名称feature/ABC-123-my-stuff

我只想以这种格式捕获 ABC-123。

我试过了

cut -d "/" -f2 <<< "$branchName"

导致

ABC-123-my-stuff

但我只想/在第二个之后和之前保留字符串-

我要添加/修改什么来实现这一点?

注意:我在 MacOS 上使用 zsh

标签: zsh

解决方案


使用cut2次:

(cut -d"/" -f2 | cut -d"-" -f1,2) <<< $branchName

或与echo

echo $branchName | cut -d"/" -f2 | cut -d"-" -f1,2

您可以使用的另一种方式grep

echo $branchName | egrep -o '[A-Z]{3}-[0-9]{3}'

注意:如果您每次都有 3 个大写字母,-然后是 3 个数字,则此解决方案将起作用。

所有解决方案都给了我输出:

ABC-123

推荐阅读