【发布时间】:2018-07-27 16:21:48
【问题描述】:
这已经被问过很多次了,但我根本无法正确实施解决方案。我有一个名为 2017-01.csv 的大型 csv,带有一个日期列(它是文件中的第二列),我正在按日期拆分文件。原始文件如下所示:
date
2017-01-01
2017-01-01
2017-01-01
2017-01-02
2017-01-02
2017-01-02
拆分后,2017-01-01.csv 的样子
2017-01-01
2017-01-01
2017-01-01
而 2017-01-02.csv 看起来像
2017-01-02
2017-01-02
2017-01-02
我使用的代码是
awk -F ',' '{print > (""$2".csv")}' 2017.csv
一切正常,但我需要保留标题行。所以我尝试了
awk -F ',' 'NR==1; NR > 1{print > (""$2".csv")}' 2017-01.csv
但是没有标题行我仍然得到相同的结果。我究竟做错了什么?我在 Stackoverflow 上阅读了许多类似问题的答案,但我无法理解他们在做什么。
我想要这个:
2017-01-01.csv 应该是这样的
date
2017-01-01
2017-01-01
2017-01-01
2017-01-02.csv 应该是这样的
date
2017-01-02
2017-01-02
2017-01-02
【问题讨论】:
-
您的输入和输出文件名看起来一样吗?是错字还是正确,请确认?
-
我已经再次编辑它以使其清楚。输入和输出文件不同。让我知道现在是否有意义。谢谢。
-
请检查我的回答,如果对您有帮助,请告诉我?
-
脚本中的
""什么都不做,您可以将其删除。 edit您的问题是提供更真实地代表您的真实多列数据的示例输入/输出,以便我们为您提供帮助。