Chinaunix首页 | 论坛 | 博客
  • 博客访问: 32808
  • 博文数量: 8
  • 博客积分: 110
  • 博客等级: 民兵
  • 技术积分: 107
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-26 14:10
文章分类

全部博文(8)

文章存档

2014年(1)

2013年(3)

2012年(4)

我的朋友

分类: PERL

2013-07-09 18:58:25

1. File::Find实现文件夹下文件内容的批量修改

点击(此处)折叠或打开

  1. use strict;
  2. use warnings;
  3. use File::Find;

  4. my $root="D:\\workspaces\\test";
  5. find(\&handle, $root);

  6. sub handle
  7. {
  8.     my $file = $File::Find::name;
  9.     return if -d $file;
  10.      
  11.     open (IN, $file) or die "$!, opening $file\n";
  12.     open (OUT, ">TEMP") or die "$!, opening TEST\n";
  13.     
  14.     while (my $line = <IN>)
  15.     {
  16.         $line =~ s/xxx;/yyy;/g;
  17.         print OUT $line;
  18.     }
  19.     
  20.     close OUT;
  21.     close IN;
  22.     
  23.     rename("TEMP", $file);
  24.     unlink("TEMP");
  25. }

2. 如果只是单个文件中的替换,可以用下面语句在cmd中执行:

点击(此处)折叠或打开

  1. perl -pi.bak -e "s/xxx/yyy/g" file



阅读(2079) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~