批量修改文件
我们一个平台有好多项目配置,如果发现一个平台性bug,所有配置都要修改。
一个配置一个目录,一个一个改非常麻烦,我们有个平台有几十个项目配置,手工改工作量太大了。
写个工具处理这些文件:
123456789101112131415161718192021222324usestrict;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
就会把所有需要修改的都改了。当然提交时要检查一下,代码还是要人把关的。