为什么 grep 命令选择的内容比预期多?

问题描述 投票:0回答:1

当我写下面的命令时,它选择“aapp”。但应该是“aap”。因为 '*' 表示零个或多个 'a'。'p' 表示一个 p。

$ echo "aapple" | grep  "a*p"

终端截图

有人可以解释一下原因吗,为什么 grep 没有按预期选择?

linux grep
1个回答
0
投票

Grep 是面向行的,因此它从输入中读取行,并在其任何部分与指定的 RE 匹配时打印整行。因此,任何包含 p 的输入行都将打印

a*p

$ echo "aapple" | grep "a*p"
aapple
$ echo "nothing special" | grep "a*p"
nothing special
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.