【发布时间】:2011-04-09 18:57:31
【问题描述】:
我想在一个目录中的文件内容中搜索另一个目录中的文件中存在的单词。有没有比以下更好的方法? (更好的平均内存使用)
更具体地说:
文件夹 1 有几个文件,每个文件有几行文本。 文件夹 2 有几个文件,每个文件有几个单词,每个单词都在一行。 我想要做的是在文件夹1的每个文件的每一行中计算文件夹2中每个文件中每个单词的出现次数。 我希望这不会太混乱。
open my $output, ">>D:/output.txt";
my @files = <"folder1/*">;
my @categories = <"folder2/*">;
foreach my $file (@files){
open my $fileh, $file || die "Can't open file $companyName";
foreach my $line (<$fileh>){
foreach my $categoryName (@categories){
open my $categoryFile, $categoryName || die "Can't open file $categoryName";
foreach my $word(<$categoryFile>){
#search using regex
}
#print to output
}
}
}
【问题讨论】: