xiaui520 发表于 2015-12-26 07:16:01

Perl 一段非常有用的代码,用来修改文件并备份

  需求:
  文件系统上有N个文件,他们都是.dat的文本文件,内容形式如下(类似于一个状态卡):

  Program name: grantie
  Author: Jackie
  Company: Symantec
  Department: QA
  Phone: +86 1234 5678
  Date: Tues March 9, 2013
  Version: 1.1
  Size: 11k
  Status: Final beta
  需要将上述的信息修改成如下的样子:(修改Author信息 Date改成当前日期 去掉Phone信息)
  Program name: grantie
  Author: Tom
  Company: Symantec
  Department: QA
  Date: 当前日期
  Version: 1.1
  Size: 11k
  Status: Final beta
  
  Code:



use strict;
use warnings;
use utf8;
chomp(my $date = `date`);
$^I = '.bak';
while(<>){
s/^Author:.*/Author: Tom/;
s/^Phone:.*\n//;
s/^Date:.*/Date: $date/;
print;
}
  其中 $^I = '.bak'; 中的 $^I 与<> 结合使用时,会生成一个后缀为.bak(hehe.dat生成hehe.dat.bak),前面与源文件名相同的备份文件,内容也是相同的。
  然后对源文件的每一行做正则替换之后写到<>打开的文件句柄中。
  
页: [1]
查看完整版本: Perl 一段非常有用的代码,用来修改文件并备份