我有两个文件需要合并。
文件 1:
a A1
a A2
a A3
...
c C1
c C2
...
文件2:
a feature1_of_a
a feature2_of_a
...
a featureN_of_a
...
...
c feature1_of_c
c feature2_of_c
...
加入后,我可以获得如下文件:
A1 feature1_of_a
A2 feature1_of_a
A3 feature1_of_a
A1 feature2_of_a
A2 feature2_of_a
A3 feature2_of_a
...
A1 featureN_of_a
A2 featureN_of_a
A3 featureN_of_a
...
为了做到这一点:我写了 shell 命令join -11 -21 -o1.2,2.2 file1 file2
。但问题是:数字 N 可能很大。因此,如果 join 一次性将 a 的所有特征读入内存,内存可能不够用。
我不知道 join 是如何实现的。内存会成为问题吗?如果是这样,有什么方法可以得到我想要的吗?
答案1
您认为 N 可能有多大?
除非它是在“数百万”的范围内,或者你在异常严格限制(内存不足)的环境中工作,否则你不会耗尽内存。