为了账号安全,请及时绑定邮箱和手机立即绑定

萌新求教!shell如何根据正则取字符串怎么回事哈啊?

萌新求教!shell如何根据正则取字符串怎么回事哈啊?

蛊毒传说 2019-08-21 17:45:59
题目描述str='master7ecbf3f[origin/master:ahead8,behind1]local'1.如何取到[]之间的字符串origin/master:ahead8,behind1?2.如何判断1中取到的字符串包含behind或者diverged?shell太销魂了,求解!
查看完整描述

2 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

1.如何取到[]之间的字符串origin/master:ahead8,behind1?
str='master7ecbf3f[origin/master:ahead8,behind1]local'
#方法一
grep-Po'\[\K[^]]+'<<<$str
#方法二
sed's/[^[]\+\[//;s/].*//'<<<$str
#方法三
awk-F'[][]''{print$2}'<<<$str
2.如何判断1中取到的字符串包含behind或者diverged?
[[$str=~"behind"||$str=~"diverged"]]&&echo"匹配"||echo"不匹配"
                            
查看完整回答
反对 回复 2019-08-21
  • 2 回答
  • 0 关注
  • 351 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信