0
拆分CSV我有以下记录了大量的CSV文件:Linux的 - 根据条件
60,1572236,3,58394247,\N,\N,\N,1925720,\N,2011-11-25 12:55:53,2011-11-25 12:55:53
61,2875109,4,58394209,1234,\N,4025175,\N,\N,2011-11-25 12:55:53,2011-11-25 12:55:53
62,2875109,4,58394209,\N,\N,\N,9860904,\N,2011-11-25 12:55:53,2011-11-25 12:55:53
63,2875109,5,58394209,8756,\N,\N,8615157,\N,2011-11-25 12:55:53,2011-11-25 12:55:53
64,2686696,3,58394211,\N,\N,59512,\N,\N,2011-11-25 12:55:53,2011-11-25 12:55:53
65,2686696,3,58394211,\N,\N,4025893,\N,\N,2011-11-25 12:55:53,2011-11-25 12:55:53
我希望将文件分成2个文件中,拆分的条件将在5日的价值列中,一个文件将获得该列中没有值的行(\ N),并且该列中具有值的列将转到另一个文件。
在上面的示例中:行2,4将转到一个文件,其余行将转到另一个文件。
任何想法如何在Linux中做到这一点?
我知道这并不回答您关于使用Linux命令的问题。但是,如果你有时间研究它,我建议你看看R.你可以将CSV文件导入为数据框。然后,根据您定义的任何规则(它们就像程序设计语言中的条件表达式),您可以从原始数据框生成其他数据框。然后,您可以将它们导出为CSV文件。 – dgraziotin 2012-01-11 12:44:07
您可以使用'grep'通过正则表达式匹配第一个条件,然后'cut -d,-f2,4'将第二个和第四个列提取到一个新文件。 – 2012-01-11 12:47:01
我的文件有超过70M行,我只是添加了一个视图行,所以你可以看到数据是怎样的,我不知道哪些行有/没有值 – Ran 2012-01-11 12:52:39