【发布时间】:2017-04-15 17:58:37
【问题描述】:
我有一个包含 3600 万个数字的基本文件,其中 SERIALNO 和 n 列没有,另一个文件的数据少于或等于 3600 万个,第一个常见的 SERIALNO 列比如基本文件和m列数,所有数据用逗号分隔。
我需要将基本文件第 1 列与文件第 1 列相匹配,并输出如序列号、列基本文件:1、..、基本文件:n、列文件:1、..、列文件:m 以及如果基本文件数据不可用在文件中,还需要捕获该值。
我也尝试过 join 命令和 grep 命令,但处理大文件的速度非常慢。任何机构都可以提出任何其他替代方案
我认为 awk 对于文件操作来说要快得多。
基础文件
serialno1,a,b,c,d
serialno2,a1,b2,c2,d2
serialno3,a3,b3,c3,d3
文件
serialno1,e,f,g,h
serialno2,e1,f2,g2,h2
serialno4,e4,f4,g4,h4
预期输出
serialno1,a,b,c,d,e,f,g,h
serialno2,a1,b2,c2,d2,e1,f2,g2,h2
serialno3,a3,b3,c3,d3,,,,,
【问题讨论】:
-
现在有班级分配家庭作业吗?这是stackoverflow.com/q/40905983/1745001 的精确副本。