下载:复制代码
- 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:"朋友们"
欢迎光临 批处理之家 (http://bbs.bathome.net/) | Powered by Discuz! 7.2 |