![从变量中提取字符串](https://linux22.com/image/165997/%E4%BB%8E%E5%8F%98%E9%87%8F%E4%B8%AD%E6%8F%90%E5%8F%96%E5%AD%97%E7%AC%A6%E4%B8%B2.png)
我有一个变量,它保存如下值
Feature/ABC-12345-apple-orange-mango
bugfix/ABC-52364-orange-mango
story/ABC-42361-juice-grape-banana
我正在寻找一个仅提取值的命令ABC-[range of digits]
。
答案1
使用grep
:
$ var='Feature/ABC-12345-apple-orange-mango
> bugfix/ABC-12345-apple-orange-mango
> story/ABC-12345-apple-orange-mango'
$ echo "$var" | grep -Eo 'ABC-[0-9]{5}'
ABC-12345
ABC-12345
ABC-12345
这将使用带有扩展正则表达式的 grep 来搜索后面ABC-
紧跟着 0-9 之间 5 个数字的任何模式。该-o
标志将使 grep 仅打印匹配项。