perl 文件读写合并数据分割 去重 windows

前端之家收集整理的这篇文章主要介绍了perl 文件读写合并数据分割 去重 windows前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
#文件目录 $dir_name=<D:\\pv\\>;  opendir(DIR,$dir_name) || die "Can't open directory $dir_name";  @dots = readdir(DIR);    for my $f(@dots){   #当文件名包含.log时   if($f=~/.log/)   {   #打开文件,并获取相应数据,   #.为字符串连接符   open(files,$dir_name.$f);   @all = <files>;   close files;      open(fn,">>pvtest.log");   open(fn1,">>pvtest1.log");   ## 获取1个文件的每一行,分割后获取到第二个数据   for $fns(@all)   {    # 获取1个文件的每一行,分割后获取到第二个数据 begin    @a = split(/\|/,$fns );    $t = @a;    $ss = $a[$t-2];        if(!$ss eq "")    {    print fn "'".$ss."'".",\n";    }        # 获取1个文件的每一行,分割后获取到第二个数据 end   }   ##合并文件      #获取数据数组长度   $count = @all;   if($count>0)   {    print fn1 @all;   }    close fn;    close fn1;      }    }  #数据去重,并保存  open(fn,"pvtest.log");  my %hash;  my @array = <fn>;  #grep 保存符合条件的元素  @array = grep { ++$hash{$_} < 2 } @array;  close fn;  open(fn,">pvtest.log");  print fn @array;  close fn;    closedir DIR;

猜你在找的Perl相关文章