gpt4 book ai didi

linux - bash 中有趣的 grep 匹配

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:31:04 26 4
gpt4 key购买 nike

你能解释一下为什么吗

这个给$? = 1

echo "uus" | grep -w -o [0123456789]\*

而这个给了 $? = 0

echo "-uus" | grep -w -o [0123456789]\*

最佳答案

您的正则表达式可以匹配空字符串。 -w 标志意味着任何匹配都必须以行首或非单词字符开头,然后是行尾或非单词字符。

uus的情况下,行首后面是一个单词字符,所以grep不能匹配一个空字符串作为一个单词。行尾前面有一个单词字符,因此 grep 不能将空字符串匹配为单词。

-uus的情况下,行首后面跟着-,这是一个非单词字符,所以grep可以将空字符串匹配为行首和 - 字符之间的单词。

关于linux - bash 中有趣的 grep 匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9144090/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com