我需要更新庞大的CSV文件(20M行)与另一大csv文件(30K行)数据的选择行的值,庆典更新庞大的CSV文件,从另一家大型csv文件
文件进行更新是1.csv 1120120031,55121 1120127295,55115 6135062894,55121 6135063011,55215 4136723818,55215 6134857289,55215 4430258714,55121
更新文件是2.csv 112012 ,55615 6135062,55414 6135063,55514 995707 ,55721
如1_MOD.csv 1120120031,55621 1120127295,55615 6135062894,55421 6135063011,55515 4136723818,55215 6134857289,55215 4430258714,55121
国防部ifications:
- 如果$ 1 2.csv匹配1.csv $ 1子串(行1 & 2)然后 更新$ 2 1.csv按照在匹配的行2.csv的2 $第三字符;
- 匹配字符串的最大大小(行3 & 4);
- 不匹配的行保持不变(第5到7行)。
到目前为止,我设法在while循环中测试sed,但脚本需要大约31天才能完成。我相信这是一个更好的办法,如在阵列和更新1.csv与阵列AWK文件2.csv,这东西是我在awk的知识仅限
感谢
当你有这么大的文件时,最好使用perl代替,它可能会快得多。 –