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

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

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

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

 sudo apt-get install searchmonkey 

另一方面,使用grep命令行搜索真的是为了…

这是searchmonkey的截图

在此处输入图像描述

我假设您的第一个问题是关于grep命令的GUI替代方案。 我无法帮助你,我总是发现命令行非常有效。

至于命令行,试试吧

 grep "test" /var/x/* 

如果要递归搜索(即不仅在/var/x/ ,还在其子目录中),

 grep -R "test" /var/x/ 

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

 grep -I "test" /var/x/ 

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

你可以使用regexxer它是一个伟大的GUI搜索/替换工具的正则表达式。

你可以下载:

 sudo apt-get install regexxer 

在此处输入图像描述

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

 sudo apt install recoll 

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

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

grep -r string *

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

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

grep -r string ..

不幸的是,grep在Word(.doc)文件中搜索工作非常糟糕,但你可以将catdoc输出管道输入grep。 我不是程序员,但这个小脚本适合我:

 #!/bin/bash export GREP_OPTIONS='--color=auto' echo -e "\n Welcome to scandocs. This will search .doc (NOT .docx) files in this directory for a given string. \n Type in the text string you want to find... \n" read response find . -name "*.doc" | while read i; do catdoc "$i" | grep -iH --label="$i" "$response"; done 

欢迎所有改进和建议!

我刚刚发布了一个简单的工具来完成这项工作。 主要针对软件开发人员,它具有在同一窗口中打开多个文件的(独特的?)特性。 它使用Ace编辑器(推荐!)或html textarea在浏览器中显示结果。 它是一个基于java的工具,因此它可以在Windows和Linux中运行。

看看这个!

https://sourceforge.net/projects/queacetu.gastona.p/