如何在文件夹中的文件中搜索字符串?

Nun*_*uno 106 software-recommendation

是否有任何实用程序可以在 ASCII 文件中搜索字符串以避免命令行搜索?

如何进行命令行搜索,例如搜索目录中所有文件中的字符串“test” /var/x/

Jan*_*ary 163

我假设您的第一个问题是关于grep命令的 GUI 替代方案。我帮不了你,我总是觉得命令行非常有效。

至于命令行,试试

grep "test" /var/x/*
Run Code Online (Sandbox Code Playgroud)

如果您想递归搜索(即不仅在/var/x/,而且在其子目录中),请执行

grep -R "test" /var/x/
Run Code Online (Sandbox Code Playgroud)

为了避免 grep 被 grep 认为是二进制的文件,请使用以下-I选项:

grep -I "test" /var/x/
Run Code Online (Sandbox Code Playgroud)

如果 grep 认为文件是二进制文件(基于文件的前几个字节),它将假定它不匹配而不是遍历整个文件。

  • 路径中的最后一个斜杠后应该有一个 `*`,否则 grep 在 14.04 中似乎没有做任何工作 (3认同)

alc*_*lci 80

您可以使用搜索猴子。该工具在存储库中可用,因此您可以简单地

sudo apt-get install searchmonkey
Run Code Online (Sandbox Code Playgroud)

另一方面,使用 grep 进行命令行搜索确实是为此而设计的......

这是 searchmonkey 的截图

在此处输入图片说明


小智 20

您可以使用regexxer,它是用于正则表达式的出色 GUI 搜索/替换工具。

您可以通过以下方式下载:

sudo apt-get install regexxer
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明


小智 7

试试 Recoll,这是我用过的最好的 GUI。要在所有当前支持的 Ubuntu 版本中安装 recoll,请打开终端并键入:

sudo apt install recoll
Run Code Online (Sandbox Code Playgroud)

首先需要一些时间来索引文件(您可以定义黑名单路径或扩展名或 mime)。


inq*_*ive 5

您可以grep从终端使用命令:

grep -r string *

此命令将查找当前目录(或子目录)下所有文件中所有出现的“字符串”。

对于隐藏文件,您可以使用:

grep -r string ..