如果我放一个 * 或 . 在 grep 命令结束时,我会立即得到结果。但是,如果我不这样做,该命令将永远不会返回任何内容。
如果有人能告诉我原因,或者将我引导到包含该信息的来源,我将不胜感激!在线查看所有内容,所有内容都在谈论在搜索中搜索句号或星号。大多数示例不包含 * 或 .,并且那些包含的示例并没有告诉我他们实际在做什么。
谢谢!
如果没有要搜索的文件列表,grep 默认读取标准输入。例如
$ grep -o a..
This appears to freeze, but is actually just waiting for input
app
ars
act
all
ait
^D
顺便说一句,grep 的更有用的表亲 ack 可以满足您的期望。:)
grep 的最后一个参数是在哪里搜索 - 当你说 * 时,表示应该搜索当前目录中的所有内容,当你说 dot 时,还表示当前目录。如果您将这些关闭,则 grep 假定您将通过管道传递文本以进行搜索,因此它正在等待文本到达(即让您输入)