【求助】perl处理txt数据并统计

有一个a.txt,里面大概有130W条数据格式是这样的pord,manu,mach,imei,imsi,op,ver,lwsf,pi,date100,1068,A9913... 有一个a.txt,里面大概有130W条数据格式是这样的pord,manu,mach,imei,imsi,op,ver,lwsf,pi,date100,1068,A9913,868294000090480,460017130059911,2,2.2.2,1,11,2013-12-22 00:00:00100,1068,S9,868672010008198,460078221801026,0,2.2.4,2,11,2013-12-22 00:00:00100,1068,U1203w,A1000030425A48A,460030262485407,3,2.2.4,1,16,2013-12-22 00:00:00100,1028,S300,862080022860885,460028551710598,1,3.0.7,1,16,2013-12-22 00:00:00100,1068,G29H,869527010421297,460014340503634,2,2.2.3,1,16,2013-12-22 00:00:00100,1068,U62,866729010163324,460029549652696,1,3.0.0,1,11,2013-12-22 00:00:00100,1068,U558w,A1000030413F3DB,460036741367307,3,2.2.4,1,11,2013-12-22 00:00:00100,1028,RSD_V5,869644010198153,460006162836600,null,1.3.0,null,16,2013-12-22 00:00:00现在想把manu,mach,imei,imsi,ver,lwfs相同的当成一条记录(user),但是有多少条就算多少次(times),并且根据lwsf来分组,得到这样的格式lwsf,user,times1,33,1112,22,344就是lwfs为1的有111条,但是里面manu,mach,imei,imsi,ver,lwfs相同折合起来只有33条,求大神帮忙啊
发的格式不清楚,我贴张图吧(最后那个时间是会变化的)
展开
 我来答
qmg1023
2013-12-25 · TA获得超过888个赞
知道小有建树答主
回答量:804
采纳率:0%
帮助的人:905万
展开全部
manu,mach,imei,imsi,ver,lwfs相同的当成一条记录

这个没有懂,如果有多种方式相等的怎么算?难道肯定只有一种方式么?

即lwsf为1的,user的值如果为aaaaaaaaaaaaa的有两条,bbbbbbbbbb的为30条,ccccccc的有5条怎么算呢?

第二个值怎么输出?
更多追问追答
追问
对的,已经规定好了只有这一种相等方式,即manu,mach,imei,imsi,ver,lwfs相等的都为一个user,按你说的,输出应该是1,3,37
追答

试试,结果在屏幕输出


如果你安装了perl,将脚本存为 pl011.pl,运行方式 pl011.pl file1.txt,这里的 file1.txt相当于你的a.txt


$head = <>;

while(<>)
{
@line = split(/,/,$_);
$lwfs = $line[7];
$user = join('|',$line[1],$line[2],$line[3],$line[4],$line[6],$line[7]);
$info{$lwfs}{'times'} +=1;
$info{$lwfs}{'users'}{$user} +=1;
}

print "lwsf,user,times\n";
foreach my $key ( keys %info )
{
$times=$info{$key}{'times'};
@users = keys $info{$key}{'users'};
$usercount = $#users+1;
print "$key,$usercount,$times\n";
}
哈哈3q
2013-12-25
知道答主
回答量:12
采纳率:0%
帮助的人:1.7万
展开全部
用哈希试试
追问
就是不会perl啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式