Board logo

标题: [文本处理] 批量文本的内容搜索工具F.exe [打印本页]

作者: plp626    时间: 2009-6-1 09:32     标题: 批量文本的内容搜索工具F.exe

http://baiy.cn/utils/f/f.rar

推荐以下白杨的原创免费作品,这个比findstr速度要快好多,还可在不解压的情况下搜索里面的文本内容

缺点就是体积大了点些,比findstr大5倍,180K


功能简介
■ 支持一次性指定多个文件通配符和文件列表。
■ 支持管道模式,与其它命令协同工作。
■ 支持包含子目录,与 grep 不同,即使查找目录中不包含任何匹配文件,也会继续子目录查找。
■ 支持普通匹配、行号匹配、正则匹配、可忽略大小写、可跨行匹配。
■ 支持 TCL 8.2 兼容的高级正则表达式(ARE)。
■ 同时支持 posix 标准的扩展正则表达式及 perl 风格的正则匹配。
■ 支持 DOS(Windows)、Macintosh 和 unix 风格的换行符,可选择自动识别(默认)或手动指定。
■ 支持 UNICODE(UTF-16)格式搜索。
■ 可完全自定义的匹配结果输出格式,更方便查看或与其它软件配合。
■ 统计功能,列出每个文件中的匹配次数、总匹配次数等,也可以仅列出发现匹配的文件列表。
■ 支持Win32和纯DOS环境(纯DOS环境中需要 HX DOS Extender 支持)。

≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
典型应用
■ 在命令行中单独使用,或作为管道过滤器使用。例如:“expand -d *.cab | f -ric:g.*.(dll|exe)”在当前目录下的所有cab文件中查找g开头的dll或exe文件。
■ 在批处理中应用。
■ 与其它工具配合使用,例如:vim中键入:“:set grepprg=f\ /o:F:l”后,可以为vim加入批量匹配的功能。这时使用vim命令:“:grep *.h *.c *.cpp *.hpp *.cxx /s /r:test.*string”搜索当前目录及子目录下所有源文件。之后可以使用 :cn 命令跳转到下一个匹配;:cnf 命令跳转到下一个文件中的第一个匹配等等。

作者: cjiabing    时间: 2012-11-11 21:47

我试了以下用法:
  f *.txt *.htm -f:something
  f.exe *.txt -f:女人>>f2.txt
  findstr  "女人" *.txt>>f1.txt
是在许多电子书目录下测试的,有两个感觉:
1、速度上,有时候f.exe会快一些,有时候findstr会快一些。如果搜索结果比较多的话findstr明显比f.exe快许多,搜索结果比较少的话f.exe较快。
原因可能是f.exe搜索到的结果中含有许多重复内容,同一行会重复显示三四次,这是一个缺点。
另外,findstr的搜索结果显示文件名时采用了不同颜色显示,可能会影响效率。
2、搜索文件类型上,f.exe与findstr一样,无法处理doc、pdf等常见文档,而且遇到乱码也会嘟嘟嘟地叫个不停。
综上,如果有特殊需要f.exe可能胜任,简单意义上的文本内容搜索还是使用findstr的好。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2