文本查找/替换工具regexsr发布

作者:半瓶墨水 链接:http://www.2maomao.com/blog/regexsr-tool-v1/

正则表达式文本查找/替换工具 REGular EXpression Search and Replace tool
(注:这是一个命令行工具,替换功能目前无效,以后版本添加)

2007 Feb08更新: 修正了一个文件句柄泄露的小bug
2008 Feb21更新: 现在可以输出重定向了:)

下载地址http://www.2maomao.com/blog/wp-content/uploads/regexsr.zip

这个工具跟windows的FindStr、linux下面的grep干同样的事情:在众多文本中查找包含指定内容的文件

不过,前文说到,FindStr和grep(UnixUtil包)在搜索中文的时候都会有“抢床”问题,而且在搜索windows下的Unicode或者BigEndian Unicode的时候无效,所以自己动手写了一个检索、替换工具:regexsr.exe

本软件的优点
1. 解决了FindStr和grep(UnixUtil包)在搜索中文的时候都会有的“抢床”问题
2. 常见的Unicode文件和ANSI文件都可搜索
3. 可以指定搜索路径、文件过滤、大小写等选项
4. 使用彩色命令行输出结果,一目了然

运行方法如下:
regexsp [-i|n|r|y] -[s|S]:search_str -[r|R]:replace_str] [-d:folder] -[t|T]:file_pattern]

一些简单选项(需要详细文档请在下载后阅读Readme.txt):
-i : 不区分大小写
-n : 在搜索结果中显示结果所在行号
-r : 搜索子文件夹

一些例子
regexsr “-s:foo bar” //在当前目录下搜索所有含有“foo bar”的文件
regexsr “-s:foo bar” -r -T:*.h //在当前目录下(包括子目录)所有.h文件中搜索所有含有“foo bar”的文件

为了便于在当前文件夹下进行的常见的查询操作,下载包里面还有几个小的批处理文件:
rs.bat xxx   //查找xxx,比如 rs foobar,区分大小写
rsi.bat xxx   //查找xxx,不区分大小写
rsr.bat xxx   //查找xxx,区分大小写,包含子文件夹
rsri.bat xxx   //查找xxx,不区分大小写,包含子文件夹
rsri.bat xxx *.h //查找xxx,不区分大小写,包含子文件夹,文件名包含.h


运行效果

文本搜索工具regexsr

实现细节
VS2005 + greta + WinXP

标签:[tag]工具, 命令行[/tag]

共 9 条评论

[…] 文本查找/替换工具regexsr […]

  • 阿才 七月 24th, 2007 10:35 am

这个软件弥补了Windows平台下没有grep的不足,真是个好软件!

顺便请问VS2005里怎么使用GRETA?要改什么地方才能编译通过?如果方便的话请把修改方法发到我的邮箱,谢谢!

@阿才
多谢夸奖 :D
windows平台下的cygwin和unixutils包都有grep的

VS2005里面用greta遇到具体问题可以写信问我,搜google最好了
我以前有两篇blog讲这个:
http://www.cnblogs.com/realfun/archive/2005/11/20/280894.html
http://www.cnblogs.com/realfun/archive/2005/11/14/275835.html

  • jackal 九月 11th, 2007 5:16 pm

查找出来是很容易看出.
但是竟然不支持输出.

崩溃了.:(:(

@jackal
你是说重定向吗?
唉,这种多线程的方式,就是有问题啊。

@jackal
刚刚fix了这个bug
现在可以输出重定向了:) :D

  • chenall 六月 29th, 2008 11:04 pm

收下了,谢谢分享。

  • optman 八月 19th, 2008 5:45 pm

好东西!找了很久,很多工具都不支持Unicode。

PowerGrep不错,但是收费的。

@optman
呵呵你的mp3文件分割工具也不错。
后来还写了些小东西自己用,发现能自己解决这些问题也挺好的。

发表评论

  • :(
  • :)
  • :D
  • :X
  • :^
  • :d
  • :e
  • :h
  • :k
  • :l
  • :p
  • :q
  • :s
  • :v
  • :w
  • :x

注意:评论中需包含至少一个中文字,否则视为无效