简单地说,我可以使用'search'命令搜索文件内容吗?如果是这样,怎么样?
我试图找到一种更简单的方法来搜索Linux Mint中的文件内容而不是键入
grep -rnw . -e 'my search text'
我刚注意到有一个'搜索'命令
$ which search
/usr/local/bin/search
然而,当我查看其帮助文本时;我得到了这个:
usage: search [arguments] [options]
arguments:
for text
in directory
我无法理解这一点,我尝试传递的任何论据似乎都不可避免地导致我使用相同的文本。
也没有手册页条目,我也试过了。
我试过了。
$ search "my search text" .
$ search . "test"
$ search . . . .
缺乏让这个工作的方法,我可能会选择别名。可悲的是,'搜索'已经被采取了..
答案 0 :(得分:0)
我刚做了一个干净的安装,然后去看看这个'搜索'可执行文件。事实证明,它实际上是一个带有以下结果命令的shell命令:
find $directory -type f -exec grep -$case$verbose "$text" --color=auto -n {} \;
上面的四个$变量分别填充了搜索目录,区分大小写,详细程度以及最终单字搜索文本。
我不知道为什么这个工具存在,但正如手册所示,你只能用它来搜索一个单词(没有空格),并且在指定的后续目录中。
因此,寻找(不区分大小写)且没有详细程度的示例将是:
search for bar in ~/home/foo
该指令显然已于2008年在Linux铸币厂中添加,如in this post所示,其中也详细说明了其用途。
答案 1 :(得分:-1)
$ search for text in directory
find: ‘directory’: No such file or directory
但它仍然不能完全确定如何使用它;我很困惑它是否支持正则表达式/通配符等。
对于带有
的简单不区分大小写的文本,我的确得到了很好的结果~/mytargetfolder/ $ search for singlewordspacesdontwork in .
然而,只要有空格就会中断,用“,\或”来逃避它是不行的。
鉴于我的经验,我建议转向这个命令。
我还建议不要在StackOverflow上给出答案,或者提出类似这样的问题,因为我似乎刚刚收到了一些关于downvotes的案例?