联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
wide find and replace Ver 2.3.1.120 by BaiYang / 2004 - 2007, 免费软件 主页地址 - http://baiy.cn =============================================================================== 在文件或管道中批量搜索-替换字符串——支持多字符集编码 用法: wfr [文件通配符1 文件通配符2 ...] {查找选项:查找内容} {替换选项:替换为} [其它选项] =============================================================================== 查找选项: -f: - 匹配精确串 -fic: - 匹配精确串(忽略大小写) -r: - 正则表达式匹配 -ric: - 正则表达式匹配(忽略大小写) -rnnl: - 跨行正则匹配 -rnnlic: - 跨行正则匹配(忽略大小写) -any - 匹配文件或管道中的所有内容,主要用于完成单纯的批量字符集编码转换 =============================================================================== 替换选项: -t: - 将匹配的内容替换为指定字符串 -tu: - 先将指定的“替换为”字符串变为大写,然后开始替换 -tl: - 先将指定的“替换为”字符串变为小写,然后开始替换 -h -? - 当前屏幕 注意: 如果您正在使用正则匹配,那么您可以在“替换为”字符串中使用子表达式代换 (\0 ~ \9) =============================================================================== 字符编码选项: -encin: - 指定输入文本(文件或管道)的字符集编码。 默认值: 使用当前操作系统的默认代码页。 -encout: - 指定输出(结果)文本的字符集编码。 默认值: 与 "-encin" 指定的值相同。 -encarg: - 指定搜索和替换选项的内容使用何种字符集编码。 默认值: 使用当前操作系统的默认代码页。 -unisign - 如果输出指定为 UNICODE 宽字符编码 (如: UCS-2, UTF-8/16 等), 则在文 件头部加入 BOM 签名,这样支持 unicode 的文本编辑器将会自动识别该文 件的编码格式。 -listenc - 列出所有 wfr 支持的字符集编码。 -listcmp - 列出 wfr 认可的键入字符集编码转换规则表。 -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=" 等效) =============================================================================== 应用示例: wfr *.txt *.htm -f:teh -t:the wfr *.txt -fic:"My Dir" -tu:"%ROOTDIR%" type server.log | wfr /r:"Connected.*218.79" /t:"**Attack** \0" type server.log | wfr /r:"^(Smith|James).*\n" /t unzip -l *.zip | wfr /r:"^(.{22}:\d\d\s*|(A| \a| -|.*files$).*\n)" /t wfr *.txt /s /any /encin:gbk /encout:utf-8 wfr *.log /any /encin:ucs-2 /encout:gbk /stdout | OtherApp.exe ... wfr *.txt *.htm -r:"张(\a+/>)" -t:"李\1" wfr *.txt *.htm -r:"[你我他她它]们" -t:"朋友们"
附件 1: AA.rar (2008-11-4 18:46, 1.2 K,下载次数: 17)