perl 读取文件夹下所有txt,并处理数据

就是昨天那个说处理manu,mach的,因为那个txt文件可能很大,然后会分成若干个txt文件,一起保存在一个例如20131222的文件夹下,请问要怎么处理呢分不多了,还... 就是昨天那个说处理manu,mach的,因为那个txt文件可能很大,然后会分成若干个txt文件,一起保存在一个例如20131222的文件夹下,请问要怎么处理呢
分不多了,还希望你可以指教一下
展开
 我来答
qmg1023
推荐于2017-11-26 · TA获得超过888个赞
知道小有建树答主
回答量:804
采纳率:0%
帮助的人:905万
展开全部

还是昨天的那个程序,假设你的文件分为 1.txt 2.txt 3.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";
}

注意:读取文件头到$head变量的那句已经注释掉了。


此时运行方法为: perl my.pl 1.txt 2.txt 3.txt 就可以了


perl自己会把所有文件内容都读进来处理的

更多追问追答
追问
现在是想只传入文件夹名称,不知道可不可以
追答
每个文件都有文件头么?
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式