用perl按记录条件分割大文件

阅读: 评论:0

用perl按记录条件分割大文件

用perl按记录条件分割大文件

《intermediate perl》一书中第8章练习2是一个分割文件的练习

Gilligan: 1 coconut
Skipper: 3 coconuts
Gilligan: 1 banana
Ginger: 2 papayas
Professor: 3 coconuts
MaryAnn: 2 papayas
.......

要求按照:前的字符将原始文件分割成若干个*.info文件

可以有2种方法解决

1、

#!/usr/local/bin/perl
use strict;
use warnings;

use IO::File;
my %output_handles;
while (<>) {
unless (/^(S+):/) {
warn "ignoring the line with missing name: $_";
next;
}
my $name = lc $1;
my $handle = $output_handles{$name} ||=
my $fh =IO::File->new(">$name.info")|| die "Cannot create $name.info: $!";
#print "$. $fhn" ;
#print "$. $handlen" ;
print $handle $_;
}

2.

#!/usr/local/bin/perl
use strict;
use warnings;

use IO::File;
my %output_handles;
while (<>) {
unless (/^(S+):/) {
warn "ignoring the line with missing name: $_";
next;
}
my $name = lc $1;
# my $handle = $output_handles{$name} ||=
my $fh =IO::File->new(">>$name.info")|| die "Cannot create $name.info: $!";
#print "$. $fhn" ;
#print "$. $handlen" ;
print $fh $_;
}

[@more@]

来自 “ ITPUB博客 ” ,链接:/,如需转载,请注明出处,否则将追究法律责任。

转载于:/

本文发布于:2024-01-31 11:44:08,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170667265328278.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:大文件   条件   perl
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23