什么是在许多文件或文件夹中查找代码的实用程序。类似于 PowerGrep 但免费软件。
15 回答
在 Windows 上,有一个类似于 grep 的“查找”命令。
您还可以下载 cygwin 或其他一些 Unix 模拟器并从中获取 grep。
在 Windows 上,您还可以使用“unxutils”包获得独立版本的 grep:http: //unxutils.sourceforge.net/
对于 Windows,我过去曾使用过Agent Ransack,它做得非常好。
由于您似乎在 Windows 上,Google 告诉我您实际上可以使用 DOS cmd 行:
递归查找文件中的文本字符串,输出行号:
FOR /R c:\~kenneth %v IN (*.css) DO find /N /I "#banner" "%~fv" >> test.txt
注意 %v 是一个变量,可以是任何字母。带引号的 "%~fv" 扩展为带引号的完全限定路径名。如果没有引号,则不会处理带有空格的目录。
*.css 可以是任何通配符,甚至可以是 *。>> 将输出连接到一个文件,在本例中为 test.txt。
在此处查找更多示例:http: //kennethhunt.com/archives/000173.html
Ack提供与 grep 相同的选项,它旨在搜索源代码、跳过临时文件和二进制文件、核心转储。它是一个 Perl 脚本,因此可以在 Unix 和 Windows 系统上运行。
我为此使用记事本++。它甚至支持正则表达式。
搜索->在文件中搜索
Textpad是一个非常有用且便宜的编辑器,具有非常好的跨目录搜索功能。它甚至允许您快速转到搜索结果中提到的每个文件/行,只需反复按 F4。
Eclipse 功能强大且免费。Ctrl + Alt + H 将搜索 Eclipse 支持的任何语言的方法、声明、类型或自由文本。您甚至可以使用通配符和正则表达式。
例如,我一直在努力寻找对某种方法的所有访问。Eclipse 再次为我做得很好:Ctrl + H 将打开 Call Hierarchy 视图。
如果它在 Mac 上,TextWrangler非常适合使用 grep 进行多文件搜索。
你也可以试试 Komodo Edit。它是一个支持多种语言并支持递归搜索目录的开发 IDE。它是用 Java 编写的,因此可以在“每个”平台上运行。
我没有见过 PowerGrep,但 Visual Studio 的“在文件中查找”最适合我。还允许“替换文件”并打开更改的文件以启用撤消。
在最新版本的 Windows 上,findstr.exe 会为您提供很好的服务,它比 find.exe 具有更多功能。
findstr /nips /c:"唯一文本字符串" *.txt
它不如 grep 强大,但它可以工作。/n 给你行号,/m 只会给你文件名。
如果您忘记了文件规范,它只会等待终止。
我还建议学习 cmd shell 脚本。以“for /?”开头。
我知道您要免费软件,但如果其他人正在浏览此问题,我建议您查看Eluent Find。我几年前买的,每天都用。我为我所做的不同类型的搜索设置了许多路径计划和扩展配置。
它有点老化,似乎没有升级,但它像宣传的那样工作,不知道他们会添加什么。每年左右我都会四处看看比赛,并没有发现任何对我更有效的东西。路径计划是关键特征。
20 美元。
如果你安装 cygwin,你会得到find
和grep
实用程序,它们可以像这样一起使用:
find <dir> -name '*.cpp' -exec grep -H <pattern> {} \;
或者只是递归 grep,如果您不关心按文件扩展名过滤:
grep -R <pattern> <dir>
谷歌桌面。一旦它为您的文件编制索引,它就可以非常快速地搜索和在您的所有文件中搜索 - 代码或其他文件。您还可以按文件类型搜索。
如果您使用的是 Windows XP,我不推荐使用 Windows Live Search。它又慢又笨重。
再次投票给ack。它的用处怎么强调都不为过,它确实是您处理大型代码库时最好的朋友。