grep -r 默认在哪里搜索?

16 grep recursive

我发现如果我在不指定路径的情况下使用 grep 进行搜索,就像grep -r 'mytext'它需要无限长的时间。同时,如果我使用指定的路径进行搜索,grep -r 'mytext' .它会立即找到我需要的东西。所以,我很好奇,在第一种形式中,grep 在哪个目录中搜索?

UDATE:grep 版本:grep (GNU grep) 2.10

小智 25

实际上它不会搜索任何地方。它等待来自标准输入的输入。

尝试这个:

beast:~ viroos$ grep foo
Run Code Online (Sandbox Code Playgroud)

当您键入包含“foo”的行并按回车键时,将重复此行,否则光标将移动到新行但 grep 不会打印任何内容。

  • 正如我在上面评论的 GNU grep 较新版本的 grep -r PATTERN 不会读取标准输入,而是在当前目录中搜索模式(请参阅 [提交](http://git.savannah.gnu.org/cgit/grep .git/commit/?id=faf6ea13b3281a2004f5bfd1487708d1ba50a6c5))。此更改是有意义的,因为您可能不想在指定 `-r` 标志时搜索标准输入。 (6认同)