【发布时间】:2013-01-24 21:08:59
【问题描述】:
我有两个输入文件:
file1
123
456
789
file2
123|foo
456|bar
999|baz
我需要从file2中复制key在file1中的行,所以最终结果是:
file3
123|foo
456|bar
现在,我正在使用一个 shell 脚本,它遍历它们的密钥文件并为每个密钥文件使用 grep:
grep "^${keys[$keyindex]}|" $datafile >&4
但正如您可以想象的那样,这非常慢。密钥文件 (file1) 有大约 400,000 个密钥,数据文件 (file2) 有大约 750,000 行。有没有更好的方法来做到这一点?
【问题讨论】:
-
你为什么使用 shell 脚本?
-
在更大的脚本中,在此之前发生的许多其他步骤。我希望不需要维护两个不同的东西。
-
我从未尝试过,但我认为您可以将 python 代码嵌入到多行 bash 字符串中,然后直接将其发送到 python 解释器,而无需单独的文件。