首页 > 编程 > Perl > 正文

[Perl]文字/代码批量替换工具

2020-06-04 20:27:43
字体:
来源:转载
供稿:网友
Perl脚本batchReplace.pl可以用来批量替换文件中的文字/代码。可在指定目录中查找指定类型的文件,并递归检查子目录;在输出文件时复制输入文件的目录结构。

[附件]Win32应用程序batchReplace.exe是由Perl脚本编译产生的可执行程序,不需安装Perl运行环境即可执行。


在命令行中使用

batchReplace.exe[ -i 输入文件路径(或包含文件的目录)][ -o 输出文件位置(文件或目录)][ -c 批量输入文件的扩展名,以“.”开始,多个扩展名之间以“|”隔开][ -m 匹配模式][ -I(忽略匹配内容的字母大小写)][ -G(全局查找要匹配的内容)][ -e 例外的字符串,是对匹配模式的补充,如果在匹配结果中发现有这样的字符串,做不匹配处理][ -r 替换的内容]

上述参数没有顺序限制。当 -o 参数所涉及的文件路径不存在时,会自动创建。当输出文件已经存在时,文件原有的内容将被覆盖。(安全起见,请不要输出到输入文件的原始位置,以免造成不可恢复的损失。)

例如:
batchReplace.exe -i d:/gaoshu1 -o d:/do/123/456 -e http://www.blueidea.com/


通过配置文件 batchReplace.set 设置参数

配置文件中可包含以下设置项目(格式范例,注意大小写):


Input=E:/fna/                 指定输入路径,相当于命令行参数 -i 的默认值。
-i=E:/fna/                    同上。
Output=E:/dnaWalks/           指定输出路径,相当于命令行参数 -o 的默认值。
-o=E:/dnaWalks/               同上。
Match=<iframe[^>]*>[/s/S]*?<//iframe>  匹配模式,相当于命令行参数 -m 的默认值。
-m=<iframe[^>]*>[/s/S]*?<//iframe>  同上。
Insensitive                   忽略匹配内容的字母大小写,相当于命令行参数 -I。
-I                            同上。
Global                        全局查找要匹配的内容,相当于命令行参数 -G。
-G                            同上。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表