批量修改文件

我們一個平臺有好多項目配置,如果發現一個平臺性bug,所有配置都要修改。

一個配置一個目錄,一個一個改非常麻煩,我們有個平臺有幾十個項目配置,手工改工作量太大瞭。

寫個工具處理這些文件:

 

 

use 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/;   #在該行替換內容

 

    }

 

    print CFG_FILE ($line);

 

}

 

close(CFG_FILE);

 

再在配置目錄裡調用批處理:

FOR /R %A IN (*.c) DO perl e:\tools\str_file.pl %A

就會把所有需要修改的都改瞭。

當然提交時要檢查一下,代碼還是要人把關的。

 

發佈留言