|
楼主 |
发表于 2011-8-23 10:16:07
|
显示全部楼层
Post by chasye;2148015
很久没写perl了,写得不是很好
下面, 两个版本, 一个是没有排序的, 一个是排序的
#!/usr/bin/perl
# not sort
%hash;
while(<>){
chomp;
if(/^\s*$/){ next; }
($a, $b) = split /\s/, $_, 2;
push(@{$hash{$a}}, $b);
}
foreach(keys %hash){
print join(' ', ($_, @{$hash{$_}})) . "\n";
}
#=======================
#sorted
$last = undef;
while(<>){
chomp;
if(/^\s*$/){ next; }
($a, $b) = split /\s/, $_, 2;
if($last ne $a){
print "\n$a";
$last = $a;
}
print " $b"
}
print "\n";
受教,我以为应该可以sed或者awk做的,但是这方面比较薄弱
看来还是应该看下perl的
多谢 |
|