替换字符串,强烈推荐 命令行工具: fr find - replace 
http://baiy.cn/utils/fr/index.htm
 
简介
fr - 在文件中批量查找并替换匹配的字符串
支持一次性指定多个文件通配符和文件列表。 
支持管道模式,与其它命令协同工作;支持半管道模式,从文件中获取输入,但将结果写到标准输出。 
支持包含子目录。 
支持普通匹配、正则匹配、可忽略大小写、可跨行匹配。替换时可以使用正则的子表达式。 
支持高级正则表达式(ARE)。 
同时支持 posix 标准的扩展正则表达式及 perl 风格的正则匹配。 
可以格式化替换内容为全大写或全小写,便于在批处理中对环境变量和命令行参数做大小写一致化处理。 
支持 DOS(Windows)、Macintosh 和 unix 风格的换行符,可选择自动识别(默认)或手动指定。 
统计功能,列出每个文件中的替换次数、总替换次数等。 
支持Win32和纯DOS环境(纯DOS环境中需要 HX DOS Extender 支持)。 
 
 
更新历史
2008-09-09, Ver 2.1.4.0909
UPD: 增强了正则行首锚点 '^' 的适应性。 
2008-09-08, Ver 2.1.3.0908
FIX: 纠正了正则表达式零长匹配时会出现无限循环的问题(例如,在内容“aaa.bbb”中将“*”替换为“z”)。
FIX: 纠正了正则行首锚点解析不正确的问题(例如,在内容“ccc”将“^c”替换为“z”)。 
2008-08-16 Ver 2.1.2.1126
新增高级正则表达式(ARE)支持 
2007-01-20 Ver 2.1.1.120
新增 -exp 选项,开启该选项后,程序的内存使用量将增加一倍,但是在很多情况下,其处理速度将得到极大改善。碰到性能问题的弟兄们可以试试。
该算法使用额外的内存消除了原地替换时带来的内存抖动,所以文件中要替换的值越多,算法带来的性能提升就越明显。在 siwen@CCF 兄提供给我的样本上测试,开启了 -exp 选项以后,fr 完成任务的时间从 1小时 降低到 1.5 秒(文件体积 8.5MB,文件中需要替换的项目为 25 万项)。 
 
 
典型应用
在命令行中单独使用,或作为管道过滤器使用。例如:“unzip -l *.zip | fr /r:"^(.{22}:\d\d\s*|(A| \a| -|.*files$).*\n)" /t”将当前目录下的所有zip文件中的文件干净地列出,同时过滤标题行、统计行以及每行的文件大小、修改时间等内容。
  
在批处理中应用。批处理片断:fr *.lst -fic:NewDir -tu:"%1" 将当前目录下所有 .lst 文件中的 newdir 替换为第一个命令行参数(全大写)。
另一个简单的例子:将“@fr kog-Swd5b.sfv /r:"^(.*) (\x\x)(\x\x)(\x\x)(\x\x)$" /t:"\5\4\3\2 *\1"”保存为批处理文件“sfv2hash.bat”,在下载任何带有 sfv 校验信息的文件后,可以使用 sfv2hash check.sfv 将其转换为标准 hash 信息格式。然后就可以使用 crypto v check.sfv /halgm:crc32 或其它散列验证工具进行文件验证。
  
与其它工具配合使用。 
 
 
简单中文帮助
C:\Documents and Settings\Administrator>
#fr
===============================================================================
  find and replace Ver 2.1.1.120 by BaiYang / 2004 - 2007, 免费软件
                   主页地址 - 
http://baiy.cn
===============================================================================
在文件和管道中寻找字符串,并将它们替换为其它内容
用法: fr  {查找选项:查找内容} {替换选项:替换为} 
         
===============================================================================
查找选项:
  -f:      - 匹配精确串
  -fic:    - 匹配精确串(忽略大小写)
  -r:      - 正则表达式匹配
  -ric:    - 正则表达式匹配(忽略大小写)
  -rnnl:   - 跨行正则匹配
  -rnnlic: - 跨行正则匹配(忽略大小写)
===============================================================================
替换选项:
  -t:      - 将匹配的内容替换为指定字符串
  -tu:     - 先将指定的“替换为”字符串变为大写,然后开始替换
  -tl:     - 先将指定的“替换为”字符串变为小写,然后开始替换
  -h -?    - 当前屏幕
  注意: 如果您正在使用正则匹配,那么您可以在“替换为”字符串中使用子表达式代换 
        (\0 ~ \9)
===============================================================================
其它选项:
  -s       - 包含子目录
  -exp     - 启用内存扩展算法,将会加倍 fr 的内存使用量,但是很多时候可以极大地
             提高执行效率。如果你碰到了性能问题,可以尝试开启该选项。
  -stdin   - 从标准输入设备获得要查找的内容,并将结果从到标准输出设备(如果未指
             定任何文件模板的话,则自动启用该选项)
  -stdout  - 像平时一样, 从文件中获得输入, 但将结果送到标准输出(而不是写回文
             件)
  -frc     - 显示每个文件内发生的替换次数
  -trc     - 显示所有文件总共发生的替换次数
===============================================================================
POSIX 和 Perl 风格的正则表达式:
  - "find - replace" 完整支持 POSIX.2 扩展标准及 Perl 风格的正则表达式。
    以下是支持的字符类及其对应关系:
       POSIX           perl       描述
       --------------------------------------------------------------------
                         字母和数字
              \a         字母
              \l         小写字母
              \u         大写字母
                         空格和制表符
              \s         空白字符
                         控制字符
              \d         十进制数字
             \x         十六进制数字
                         可打印字符(不包括空白符)
              \p         可打印字符(包括空白符)
                         标点符号
  - 以下是一些 perl 的特殊字符类:
       perl   POSIX等效         描述
       --------------------------------------------------------------------
       \o                  八进制数字
       \O                 非八进制数字
       \w     _]      单词组成
       \W     _]     非单词组成
       \A     ]      非字母 
       \L     ]      非小写字母
       \U     ]      非大写字母
       \S     ]      非空白符
       \D     ]      非十进制数字
       \X     ]     非十六进制数字
       \P     ]      非可打印字符
       \<     _]     单词开始
       \>     _]     单词结束
  - 注意: posix 字符类是必须工作在集合中的(“”内)。相反,perl 风格
          的字符类是工作在集合运算之外的。
  - 此外,为了便于在命令行输入一些特殊字符,特别定义了一下别名:
       perl风格      POSIX风格       描述
       -----------------------------------------------------------------------
       \"                      双引号
       \'                      单引号
       \t                      制表符
       \n                      换行符 (0x0A)
       \r                      回车符 (0x0D)
       \b                      退格符
===============================================================================
开关的前缀和后缀:
  * 所有命令行开关(选项)都是大小写无关的(如: "-fic:" 和 "-FIC:")
  * 开关的前缀可以是 "-" 或 "/"(如: "/s" 和 "-s")
  * 开关的后缀可以是 ":" 或 "="(如: "/f:", "/f=", "-f:" 和 "-f=" 等效)
===============================================================================
应用示例:
  fr *.txt *.htm -f:teh -t:the
  fr *.txt -fic:"My Dir" -tu:"%ROOTDIR%"
  type server.log | fr /r:"Connected.*218.79" /t:"**Attack** \0"
  type server.log | fr /r:"^(Smith|James).*\n" /t
  unzip -l *.zip | fr /r:"^(.{22}:\d\d\s*|(A|  \a| -|.*files$).*\n)" /