我有 list1.txt 连续 100 个名称我想从 list2.txt 中获取他们的电子邮件,其中包含 1000 个带有类似电子邮件的名称(名称:电子邮件) 逐个搜索名称非常累,所以我想得到继续我的 100 个姓名的姓名和电子邮件的行,我一键搜索,很简单
list1.txt (names) 我的 100 个列表
name1
name2
name3
etc
list2.txt (name : email) 我想提取我的列表名称的邮件的大列表
name2:whatever@gmail.com
name1:whatever@gmail.com
name3:whatever@gmail.com
name4:whatever@gmail.com
name5:whatever@gmail.com
所以我想打印包含名称的行(name1 和 name2 以及 name 3.etc)
name1:whatever@gmail.com
name2:whatever@gmail.com
name3:whatever@gmail.com
ETC
请我需要完整的代码因为我没有关于 perl 的任何信息我如何使用脚本非常感谢
我试过这个但没有工作它只是打印匹配行
#! /usr/local/bin/perl
# compare
my $f1 = "list1.txt";
my $f2 = "list2.txt";
my $outfile = "result.txt";
my %results = ();
open FILE1, "$f1" or die "Could not open file: $! \n";
while(my $line = <FILE1>){
$results{$line}=1;
}
close(FILE1);
open FILE2, "$f2" or die "Could not open file: $! \n";
while(my $line =<FILE2>) {
$results{$line}++;
}
close(FILE2);
open (OUTFILE, ">$outfile") or die "Cannot open $outfile for writing \n";
foreach my $line (keys %results) {
print OUTFILE " $results{$line} - $line" if $results{$line} != 1;
}
close OUTFILE;