我有两个输入文件,例如:
file1
123
456
789
file2
123|foo
456|bar
999|baz
我需要从 file2 中复制其键在 file1 中的行,所以最终结果是:
file3
123|foo
456|bar
现在,我正在使用一个 shell 脚本,它遍历它们的密钥文件并为每个文件使用 grep:
grep "^${keys[$keyindex]}|" $datafile >&4
但正如您可以想象的那样,这是非常缓慢的。密钥文件 (file1) 有大约 400,000 个密钥,数据文件 (file2) 有大约 750,000 行。有一个更好的方法吗?