如何解决获取bash中两个特殊字符之间的数字
我有一个实际上是buildkite提交消息的字符串,我正在尝试检索两个特殊字符之间的数字(拉取请求号)。
例如该字符串可能类似于
"some commit message (#36)
* test
* unsquashed
* etc
* bla"
使用bash,现在我想从上面的字符串中获取数字36。不幸的是,我无法将sed
或grep
与perl-regexp
一起使用。
非常感谢您的帮助。
解决方法
使用参数扩展运算符。
commit_msg="some commit message (#36)
* test
* unsquashed
* etc
* bla"
id=${commit_msg#*(#} # remove everything up to (#
id=${id%%)*} # remove everything starting from )
echo "$id"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。