![]() 热心会员
|
■ 2008-09-09 更新:
UPD: 增强了正则行首锚点 '^' 的适应性。 ■ 2008-09-08 更新: FIX: 纠正了正则表达式零长匹配时会出现无限循环的问题(例如,在内容“aaa.bbb”中将“[^.]*”替换为“z”)。 FIX: 纠正了正则行首锚点解析不正确的问题(例如,在内容“ccc”将“^c”替换为“z”)。 ■ 2008-09-07 更新: 1. 修正了 -r, -rnnl 参数以及 -ric, -rnnlic 参数含义相互对调的问题。 ■ 2008-09-06 更新: 1. 修正了 -encin 为 utf-8 或 ucs-2 时,-encout 不能自动判定的问题。 2. 正式支持高级正则表达式(ARE)模式,详情参见:这里 倒,论坛附件还是不能用啊,大家去这里下载更新吧:http://baiy.cn/utils/bwfr/index.htm 用法类似 wfr(http://bbs.et8.net/bbs/showthread.php?t=775619), 但可以从一个参数文件中同时指定多个查找/替换规则。例如: 1->a 2->b 3->c 4->d 等等。 支持环境变量扩展,例如: dir->%SystemRoot% 简单说明: 代码:
功能简介 ■ 纯 unicode 规则匹配内核,真正支持各国语言文字的正则匹配。 ■ 带有兼容性检查的字符集编码转换功能。同时支持 GUN libiconv(iconv.dll) 和 Windows 自带的字符集编码转换 API。 ■ 支持一次性指定多个查找/替换对。 ■ 支持环境变量展开,可以在查找/替换对中使用系统环境变量。 ■ 支持一次性指定多个文件通配符和文件列表。 ■ 支持管道模式,与其它命令协同工作;支持半管道模式,从文件中获取输入,但将结果写到标准输出。 ■ 支持包含子目录。 ■ 支持普通匹配、正则匹配、可忽略大小写、可跨行匹配。替换时可以使用正则的子表达式。 ■ 同时支持 posix 标准的扩展正则表达式及 perl 风格的正则匹配。 ■ 可以格式化替换内容为全大写或全小写,便于在批处理中对环境变量和命令行参数做大小写一致化处理。 ■ 支持 DOS(Windows)、Macintosh 和 unix 风格的换行符,可选择自动识别(默认)或手动指定。 ■ 统计功能,列出每个文件中的替换次数、总替换次数等。 ■ 支持Win32和纯DOS环境(纯DOS环境中需要 HX DOS Extender 支持)。 代码:
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ 简单中文帮助 C:\Documents and Settings\Administrator> #bwfr =============================================================================== wide find and replace Ver 2.4.1.713 by BaiYang / 2004 - 2008, 免费软件 批量替换版 主页地址 - http://baiy.cn =============================================================================== 在文件或管道中批量搜索-替换字符串——支持多字符集编码 用法: bwfr [文件通配符1 文件通配符2 ...] {查找选项:查找内容} {-argfile:替换规则 文件} [其它选项] =============================================================================== 查找选项: -f: - 匹配精确串 -fic: - 匹配精确串(忽略大小写) -r: - 正则表达式匹配 -ric: - 正则表达式匹配(忽略大小写) -rnnl: - 跨行正则匹配 -rnnlic: - 跨行正则匹配(忽略大小写) =============================================================================== 参数文件选项: 您应当使用参数文件来指定 "查找/替换" 对。参数文件中的每一行代表一个查找替换对, 例如: 1->a 2->b 3->c 4->d ... -argfile:- 指定参数文件路径 -dlm: - 指定查找/替换对中,'查找' 部分和 '替换' 部分之间的分隔符。 默认:"->" 注意: 如果您正在使用正则匹配,那么您可以在“替换”部分中中使用子表达式代换 (\0 ~ \9) 注意:您可以在参数文件中使用系统环境变量,例如: Dir->%SystemRoot% 注意:您可以使用 '\r' 和 '\n' 来表示 '回车符' 和 '换行符',例如: 1->a\r\n 要输出 '\r' 和 '\n' 的字面值,可以使用 '\\r' 和 '\\n'。 =============================================================================== 字符编码选项: -encin: - 指定输入文本(文件或管道)的字符集编码。 默认值: 使用当前操作系统的默认代码页。 -encout: - 指定输出(结果)文本的字符集编码。 默认值: 与 "-encin" 指定的值相同。 -encarg: - 指定参数文件的内容使用何种字符集编码。 默认值: 使用当前操作系统的默认代码页。 -unisign - 如果输出指定为 UNICODE 宽字符编码 (如: UCS-2, UTF-8/16 等), 则在文 件头部加入 BOM 签名,这样支持 unicode 的文本编辑器将会自动识别该文 件的编码格式。 -listenc - 列出所有 bwfr 支持的字符集编码。 -listcmp - 列出 bwfr 认可的键入字符集编码转换规则表。 -force - 强制实施转换,忽略编码兼容性规则。 =============================================================================== 其它选项: -s - 包含子目录 -exp - 启用内存扩展算法,将会加倍 fr 的内存使用量,但是很多时候可以极大地 提高执行效率。如果你碰到了性能问题,可以尝试开启该选项。 -stdin - 从标准输入设备获得要查找的内容,并将结果从到标准输出设备(如果未指 定任何文件模板的话,则自动启用该选项) -stdout - 像平时一样, 从文件中获得输入, 但将结果送到标准输出(而不是写回文 件) -frc - 显示每个文件内发生的替换次数 -trc - 显示所有文件总共发生的替换次数 =============================================================================== POSIX 和 Perl 风格的正则表达式: - "find - replace" 完整支持 POSIX.2 扩展标准及 Perl 风格的正则表达式。 以下是支持的字符类及其对应关系: POSIX perl 描述 -------------------------------------------------------------------- [:alnum:] 字母和数字 [:alpha:] \a 字母 [:lower:] \l 小写字母 [:upper:] \u 大写字母 [:blank:] 空格和制表符 [:space:] \s 空白字符 [:cntrl:] 控制字符 [:digit:] \d 十进制数字 [:xdigit:] \x 十六进制数字 [:graph:] 可打印字符(不包括空白符) [:print:] \p 可打印字符(包括空白符) [:punct:] 标点符号 - 以下是一些 perl 的特殊字符类: perl POSIX等效 描述 -------------------------------------------------------------------- \o [0-7] 八进制数字 \O [^0-7] 非八进制数字 \w [[:alnum:]_] 单词组成 \W [^[:alnum:]_] 非单词组成 \A [^[:alpha:]] 非字母 \L [^[:lower:]] 非小写字母 \U [^[:upper:]] 非大写字母 \S [^[:space:]] 非空白符 \D [^[:digit:]] 非十进制数字 \X [^[:xdigit:]] 非十六进制数字 \P [^[:print:]] 非可打印字符 \< [^[:alpha:]_] 单词开始 \> [^[:alnum:]_] 单词结束 - 注意: posix 字符类是必须工作在集合中的(“[”和“]”内)。相反,perl 风格 的字符类是工作在集合运算之外的。 - 此外,为了便于在命令行输入一些特殊字符,特别定义了一下别名: perl风格 POSIX风格 描述 ----------------------------------------------------------------------- \" [:dq:] 双引号 \' [:sq:] 单引号 \t [:tb:] 制表符 \n [:nl:] 换行符 (0x0A) \r [:rt:] 回车符 (0x0D) \b [:bs:] 退格符 =============================================================================== 开关的前缀和后缀: * 所有命令行开关(选项)都是大小写无关的(如: "-fic:" 和 "-FIC:") * 开关的前缀可以是 "-" 或 "/"(如: "/s" 和 "-s") * 开关的后缀可以是 ":" 或 "="(如: "/f:", "/f=", "-f:" 和 "-f=" 等效) =============================================================================== 应用示例: bwfr *.txt *.htm -fic -argfile:patterns.txt ![]() 此帖于 2008-09-09 17:54:58 被 ASBai 编辑. . |
||
![]() baiy.cn 俺的原创免费作品站 |
![]() 待认证激活
|
赞,收藏了
|
||
![]() 热心会员
|
谢谢,正想找一个这样的命令行工具。
|
||
![]() 热心会员
|
看起来处理词库很好,下载了,发现自己的道行不够,不会用。
要是做成操作界面的更好,呵呵,方便了我等道行低的人~~意淫下。 |
||
![]() 有付出不一定有回报。 |
![]() 高级会员
|
随着图形界面的普及,愈来愈少用命令行了。
|
||
![]() 支柱会员
|
仰慕啊!!!
|
||
![]() SarsMark@hotmail.com 人生没有彩排,每天都是现场直播! |
![]() 高级会员
|
好东西,收藏
|
||
![]() 热心会员
|
|
||
![]() 核心会员
|
这下方便多了,之前总是用批处理解决。
|
||
![]() 办法总比问题多…… |
![]() 热心会员
|
太感谢ASBai兄啦,马上下载过去用用看,
![]() |
||
![]() - 你快乐所以我快乐! - |
![]() 终极会员
|
.link 快捷方式文件,能用这个编辑吗?
|
||
![]() 热心会员
|
TextForever也可以批量替换,可惜不支持正则
而这个虽然支持正则,不过没界面好像也不方便 |
||
![]() 热心会员
|
|
||
![]() 终极会员
|
|
||
![]() 高级会员
|
确实不错,就是人性化差了点
|
||