perl 读取文件夹下所有txt,并处理数据
就是昨天那个说处理manu,mach的,因为那个txt文件可能很大,然后会分成若干个txt文件,一起保存在一个例如20131222的文件夹下,请问要怎么处理呢分不多了,还...
就是昨天那个说处理manu,mach的,因为那个txt文件可能很大,然后会分成若干个txt文件,一起保存在一个例如20131222的文件夹下,请问要怎么处理呢
分不多了,还希望你可以指教一下 展开
分不多了,还希望你可以指教一下 展开
1个回答
展开全部
还是昨天的那个程序,假设你的文件分为 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自己会把所有文件内容都读进来处理的
更多追问追答
追问
现在是想只传入文件夹名称,不知道可不可以
追答
每个文件都有文件头么?
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询