所以我有两个文件。 File A
和File B
。 File A
巨大(> 60 GB),并有16行,数字和字符串的混合,由“|”分隔,并有超过600,000,000行。字段3在这个文件中是ID,它是一个数字字段,长度不同(例如,某人的ID可以是1,而其他人的ID可以是100)加入unix当字段是数字在一个巨大的文件
File B
只有一堆ID(〜1,000,000)和我想提取File A
中具有“文件B”中ID的所有行。我已经开始做这个使用Linux下面的代码
sort -k3,3 -t'|' FileA.txt > FileASorted.txt
sort -k1,1 -t'|' FileB.txt > FileBSorted.txt
join -1 3 -2 1 -t'|' FileASorted.txt FileBSorted.txt > merged.txt
我的问题是,merged.txt
是空的(当我知道一个事实,至少有10场比赛)。我用Google搜索这一点,它似乎问题是连接字段(ID)是数字。有些人提出用零填充该领域,但1)我不完全确定如何做到这一点,2)这似乎非常缓慢/时间效率低下。
有没有其他想法呢?或帮助如何将填充0仅添加到相关字段。