eristor Asked:2022-09-07 23:35:46 +0800 CST2022-09-07 23:35:46 +0800 CST 2022-09-07 23:35:46 +0800 CST 奇怪的 grep 行为 772 grep -q "x*" <<<"zoo" echo $? grep -q "z*" <<<"zoo" echo $? 为什么两个命令都返回0?第一个预计会返回 0 以外的值,因为 zoo不包含x。 linux grep 1 个回答 Voted Best Answer Zt. 2022-09-07T23:49:38+08:002022-09-07T23:49:38+08:00 那么他为什么不工作呢? x*- 表示 x 必须出现 0 次或多次,而zoo字母x在单词中出现 0 次,所以一切都是正确的。 也许你的意思是必须有一个字母x,后面有0个或多个字符,那么它会这样写: $ grep 'x.*' <<<"zoo";echo $? 1
那么他为什么不工作呢?
x*
- 表示 x 必须出现 0 次或多次,而zoo
字母x
在单词中出现 0 次,所以一切都是正确的。也许你的意思是必须有一个字母
x
,后面有0个或多个字符,那么它会这样写: