str = 'master 7ecbf3f [origin/master: ahead 8, behind 1] local'
1.如何取到[ ]之间的字符串origin/master: ahead 8, behind 1
?
2.如何判断1中取到的字符串包含behind
或者diverged
?
shell太销魂了,求解!
在shell中,你可以使用egrep
命令来根据正则表达式取字符串。以下是一个简单的例子:
假设你有一个字符串"Hello, World!"
,你想找到所有以大写字母开头的单词,你可以这样做:
bash
echo "Hello, World!" | grep -oP '\b[A-Z][a-z]*\b'
在这个例子中,grep
命令使用-oP
选项来输出匹配正则表达式的部分,然后使用\b
来定义单词的边界。\b
是一个单词边界,确保我们只匹配完整的单词,而不是单词的一部分。
注意,这个例子假设你的正则表达式是正确的。如果你的正则表达式有误,grep
命令可能不会返回你期望的结果。