Один миллион запросов из 10 000 ключей, если требуется производительность, используйте perl:
#!/usr/bin/perl
# create hash from file2
($f2) = pop @ARGV;
%hash = map { reverse split } do { local @ARGV=($f2); <>};
# loop over file1
while ( <> ) {
chomp;
@F = split;
print "$_ $hash{$F[4]}\n";
}