zsh - 如何在zsh中的第二个符号之后/之前捕获文本
问题描述
例如我有一个 git 分支名称feature/ABC-123-my-stuff
我只想以这种格式捕获 ABC-123。
我试过了
cut -d "/" -f2 <<< "$branchName"
导致
ABC-123-my-stuff
但我只想/
在第二个之后和之前保留字符串-
我要添加/修改什么来实现这一点?
注意:我在 MacOS 上使用 zsh
解决方案
使用cut
2次:
(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
推荐阅读
- jenkins - 詹金斯构建中的空csv
- python - 有没有一种方法可以轻松地将 2 个索引之间的所有元素放入 Python 中的嵌套列表中?
- shell - 在所有列中使用 awk 移动平均
- unit-testing - 意外调用模拟(gomock)gRPC
- android - .hprof files in android studio project root directory
- java - It is possible to get Assembly Version Attributes of a .net ddl via Java? (Without proxy .net app to retrieve the reflection data)
- html - Angular slickgrid page moves up on click any cell
- node.js - UnhandledPromiseRejectionWarning: TypeError: Cannot use 'in' operator
- r - ggraph 去除边缘后保持布局
- json - Create dynamic request object in Laravel