is/how "search" 命令的作用是什么?

What is/how does the "search" command work?

简而言之,我可以使用 'search' 命令来搜索文件内容吗?如果可以,怎么做?

我正在尝试寻找一种比键入

更简单的方法来搜索 Linux Mint 中的文件内容
grep -rnw . -e 'my search text' 

我刚刚注意到有一个 'search' 命令

$ which search
/usr/local/bin/search

但是,当我查看它的帮助文本时;我收到了这个:

usage: search [arguments] [options]
arguments:
     for text
     in directory

我无法理解这一点,我尝试传递的任何论点似乎都不可避免地将我引向相同的文本。

也没有手册页条目,我也试过了。

我试过了,例如

$ search "my search text" .
$ search . "test"
$ search . . . .

由于没有办法让它工作,我可能会选择一个别名。遗憾的是,'search' 已经被占用了..

我的天啊。我从没想过您可能需要如此字面地解释手册;

$ search for text in directory
find: ‘directory’: No such file or directory

不过,它仍然不能让我完全确定如何使用它;很疑惑是否支持regex/wildcards等

对于简单的不区分大小写的文本,我确实得到了很好的结果

~/mytargetfolder/ $ search for singlewordspacesdontwork in .

但是,一旦出现 space,它就会中断,用 "、\ 或 ' 转义它是行不通的。

根据我的经验,我建议不要使用此命令。

我还想建议不要在 Whosebug 上给出答案,或提出类似的问题,因为我似乎有一个 downvotes 的案例,就像刚才一样?

我刚刚进行了全新安装,然后查看了这个 'search' 可执行文件。事实证明,它实际上是一个带有以下结果命令的 shell 命令:

find $directory -type f -exec grep -$case$verbose "$text" --color=auto -n {} \;

上面的四个 $variables 分别填充了搜索目录、区分大小写、详细程度以及最终的单个单词搜索文本。

我不知道为什么会有这个工具,但是正如手册所建议的,你只能用它来搜索一个词(没有空格),并且在指定的以下目录中。

一个寻找(不区分大小写)且不冗长的例子是:

search for bar in ~/home/foo

该命令显然是在 2008 年 Linux mint 中添加的,如 in this post 所示,其中还详细说明了它的用法。