加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-16 00:00:55 所属栏目:大数据 来源:网络整理
导读:#文件目录 $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(f
#文件目录 $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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读