perl 文件读写合并数据分割 去重 windows
来源:互联网 发布:淘宝教程 华为网盘 编辑:程序博客网 时间:2024/06/07 18:25
#文件目录
$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;
$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;
0 0
- perl 文件读写合并数据分割 去重 windows
- linux文件合并,去重,分割
- Linux文件合并,去重,分割
- linux文件合并,去重,分割
- Linux文件合并,去重,分割
- Linux 文件合并去重
- linux文件合并去重
- linux文件合并、去重
- shell合并文件去重
- linux文件合并,去重
- Java合并两个文件,Set去重。
- java读多个TXT文件、去重、合并
- <转>linux文件合并,去重
- linux文件合并、去重、拆分
- linux文件合并、去重、拆分
- 源码:windows文件分割与合并
- perl 数组去重
- [perl] 数组去重
- sql,关于数字标题的问题
- 【转载】大型网站架构设计及技术总结(转载)
- 2013年07月19日
- Hibernate配置文件元素详解
- Hibernate 脏数据检查
- perl 文件读写合并数据分割 去重 windows
- 工厂方法模式与抽象工厂模式
- VC下用宏来实现函数注释的自动添加
- EXCEL 2010怎样固定表头
- 内核模块编译
- 启动和停止init.rc中的服务
- 慎用CreateParms重载窗体属性
- iOS开发牛人博客收集
- 程序员未来高薪就业 学习linux才是王道