你能解释一下原因吗?
这个给了$?= 1
echo "uus" | grep -w -o [0123456789]\*
Run Code Online (Sandbox Code Playgroud)
这一个给$?= 0
echo "-uus" | grep -w -o [0123456789]\*
Run Code Online (Sandbox Code Playgroud)
您的正则表达式可以匹配空字符串.该-w标志表示任何匹配必须以行首或非单词字符开头,后跟行尾或非单词字符.
在这种情况下uus,行的开头是一个单词字符,因此grep无法将空字符串作为单词匹配.行尾以字符开头,因此grep无法将空字符串作为单词匹配.
在这种情况下-uus,行的开头后跟-,这是一个非单词字符,因此grep可以将空字符串作为行的开头和-字符之间的单词匹配.