【发布时间】:2014-11-24 14:02:43
【问题描述】:
我对 linux 还很陌生,觉得这应该是一个相当简单的任务,但我不太明白。我有一个包含数百万行的大型数据文件,我想根据日期将文件分成更小的文件。我有一个包含 YYMMDDHH 数据的时间列,我想根据 DD 创建子文件。对于每个新的 DD,我想要一个包含当天所有条目的新文件。该文件是一个 csv 文件,并且已经按时间排序。
根据我的阅读,我应该能够使用 cat、awk 和可能的 grep 来执行我想要的操作。
进一步说明,每行有 14 列。一列的数据包含 YYMMDDHH(即 14071000、14071000...14071022、14071022...14071100...14071200...)
我可以手动设置子集
cat trial | awk 'NR>=1 && NR<=100 {print}' >output.txt
这给了我 1 到 100 之间的行。我想知道是否有一个命令允许我根据 YYMMDDHH 列进行提取,以便可以将 140710 上的所有数据点放在一个文件中。希望这有助于更好地解释我的问题。
【问题讨论】:
-
为了让我们能够更轻松地为您提供帮助,您应该在问题中添加输入文件的示例。此外,很高兴看到您到目前为止所做的尝试。