工具来搜索文件内字符串没有索引[关闭](Tools to search for strings in

2019-08-01 01:45发布

我必须要改变某些连接字符串中一个非常旧的遗留应用程序,以及谁做的程序员也认为这将是一个伟大的想法,石膏使用连接字符串所有的地方整个应用程序。

Visual Studio的“当前项目”搜索是不可思议的慢,我不相信Windows搜索。

那么,什么是最好的免费,非索引的文本搜索工具了吗? 所有应该做的是用含有一个文件夹及其子文件夹内的期望字符串的文件返回一个列表。

我运行Windows 2003 Server。

Answer 1:

视窗grep的做到这一点非常好。

编辑:视窗grep的不再被保留或由开发商提供。 另一种下载链接是在这里: 视窗grep的-备用



Answer 2:

我在查找-IN-文件对话框的粉丝记事本++ 。 奖金 :它是免费的。



Answer 3:

还有被称为Windows内置的程序findstr.exe与您可以将文件内搜索。

>findstr /s "provider=sqloledb" *.cs


Answer 4:

代理洗劫是个不错的选择。 它的快速,自由和有其他一些不错的功能壳一体化。



Answer 5:

我喜欢AstroGrep。 结果显示在列表中。 在连续的点击会显示整条生产线作为预览突出打击。 这似乎是相当快的,瘦,它是免费的。 经测试在Windows 7,8,10和Windows Server 2008 R2。 允许正则表达式。

AstroGrep是Microsoft Windows图形用户界面的文件搜索(grep的)工具。 它的功能包括正则表达式,多功能打印选项,商店最近使用的路径,具有“情境”的特点,这是非常不错的看源代码

参考: AstroGrep



Answer 6:

我是一个大风扇grepWin 。 它是免费的,重量轻,可以从资源管理器外壳。 我喜欢不必刻意去寻找,为了寻找的东西开始的程序。 我只需右键点击资源管理器,并把它。



Answer 7:

SeekFast是非常方便的文件中搜索文本-文本文件,MS Word,Excel和OpenOffice和其他人。 它有一个免费的版本。



Answer 8:

FileSeek 。 它的快速和它是免费的。 它可以查找文本字符串或匹配的正则表达式。



Answer 9:

Visual Studio的文件夹中搜索是目前为止我已经找到了最快的。

我相信,智能搜索纯文本(非二进制)文件,以及后续搜索在同一文件夹是非常快的,不像其他工具(可能是文本文件,适合在Windows磁盘高速缓存)。

一个普通的硬盘驱动器上VS2010,没有SSD,需要1分钟到搜索20GB文件夹26K的文件,源代码和二进制文件混在一起。 15K文件中搜索 - 其余的都可能跳过由于是二进制文件。 在同一文件夹后续搜索是秒量级(直到得到的东西驱逐形式缓存)。

下一个最近我发现在同一个文件夹是grepWin。 大约3分钟。 我排除超过2000KB(默认值)的文件。 该“包括二进制文件”的设置,似乎什么也不做在加快搜索方面,它看起来像二进制文件仍感动(错误?),但他们没有在搜索结果中显示出来。 后续搜索都以同为3分钟 - 不能利用硬盘缓存。 如果我限制超过200K较小的文件,最初的搜索是2.5分钟和随后的搜索是秒的量级,大约快VS - 在缓存中。

代理洗劫和FileSeek都是非常缓慢的文件夹上,20分钟左右,由于通过搜索一切,包括巨多千兆字节的二进制文件。 他们根据资源监视器搜索约为10-20MB每秒。

UPDATE:代理洗劫可以设置为搜索某些大小的文件,并使用<200KB截止它是1:15分钟为一个新的搜索和5S进行后续搜索。 比grepWin并以最快的速度VS整体更快。 如果你想保持一些搜索选项卡中,你不想污染VS最近搜索过的文件夹列表,你想保持搜索二进制文件的能力,这VS似乎并不想这样做实际上是相当不错的。 代理洗劫还创建了一个资源管理器右键菜单项,所以很容易从一个文件夹启动。 同grepWin但更好的用户界面,更快。

我的新搜索设置为代理洗劫的内容和一切文件名(真棒工具,立竿见影的效果!)。



Answer 10:

TextPad是这样的事情真的很不错。 您可以免费使用它,但你得到一个警告信息,询问你买它。 除此之外,它是一个很好的工具全面。



Answer 11:

你可以安装cygwin(需要一些时间),并使用grep -R。



Answer 12:

如果你不想安装非微软的开发工具,请下载STRINGS.EXE从微软的Sysinternals,让这样一个过程:

@echo off
if '%1' == '' goto NOPARAM
if '%2' == '' goto NOPARAM
if not exist %1 goto NOFOLDER

echo ------------------------------------------
echo - %1 : folder
echo - %2 : string to be searched in the folder
echo - PLEASE WAIT FOR THE RESULTS ...
strings -s %1\* | findstr /i %2 > grep.txt
notepad.exe grep.txt

goto END

:NOPARAM rem - input command not correct
echo ====================================
echo Usage of GREP.CMD:
echo   Grep "SearchFolder" SearchString
echo Please specify all parameters
echo ====================================
goto END

:NOFOLDER
echo Folder %1 does not exist
goto END

:END rem - exit


Answer 13:

我倾向于始终使用grep或发现unxutils 。 这在MS-Windows的伟大工程。



Answer 14:

FileSearchy 。 它的快速和免费的。 它确实有索引,但仅限于文件名,而不是内容。



Answer 15:

我建议GOW了Cygwin的,因为它的轻得多,但仍然包括grep的,以及在18MB代替> 100MB另一个130左右* nix的命令行工具集。



Answer 16:

如果你正在寻找一个基于控制台的工具来做到这一点,那么你可以参考这个网址,并创建一个自己。

http://www.dotnetlogic.net/articles/search-for-filename-or-text-inside-other-files-in-directory-using-c/

什么是确实是找到搜索文本列表中的文件夹,并返回如果某些文件包含的文本也具有相同名称的文件匹配也返回



Answer 17:

我可以推荐ACK -使用Linux根一个命令行程序,幸运的伟大工程也于Windows。 它比grep的速度更快,它忽略的git /颠覆目录和二进制文件,并输出更容易理解。 和打字的ack比grep的速度提高了25%;)

http://beyondgrep.com/

我试了一下babun(Cygwin的),并从MSYS混帐 - 工程惊人。 它用Perl编写所以也应该在工作CMD.EXE与OS某处安装的perl。

对于Windows,您可以尝试“Seekfast”它会自动做这一切。 这里https://seekfast.org安全链接。



文章来源: Tools to search for strings inside files without indexing [closed]