批量修改文件
我们一个平台有好多项目配置,如果发现一个平台性bug,所有配置都要修改。
一个配置一个目录,一个一个改非常麻烦,我们有个平台有几十个项目配置,手工改工作量太大了。
写个工具处理这些文件:
123456789101112131415161718192021222324use
strict;
if
(
@ARGV
[0] !~ m/xxx_cfg.c/)
{
exit
(0);
}
my
$file
=
"< "
.
@ARGV
[0];
open
(CFG_FILE,
$file
)||
die
(
"Can't open read file"
);
my
$line
=
""
;
my
@lines
= ();
@lines
= <CFG_FILE>;
close
(CFG_FILE);
$file
=
"> "
.
@ARGV
[0];
open
(CFG_FILE,
$file
)||
die
(
"Can't open write file"
);
foreach
$line
(
@lines
)
{
if
(
$line
=~ m/cfg_KeyWord/)
#查找关键字
{
$line
=~ s/AAA/BBB/;
#在该行替换内容
}
CFG_FILE (
$line
);
}
close
(CFG_FILE);
再在配置目录里调用批处理:
FOR /R %A IN (*.c) DO perl e:\tools\str_file.pl %A
就会把所有需要修改的都改了。当然提交时要检查一下,代码还是要人把关的。