【发布时间】:2020-03-26 15:41:09
【问题描述】:
如何将包含许多记录的文件拆分为更小的文件,每个文件包含更少的记录?
<TAG>
Record_1
</TAG>
<TAG>
Record_2
</TAG>
<TAG>
Record_3
</TAG>
<TAG>
Record_4
</TAG>
<TAG>
Record_5
</TAG>
当然,我们谈论的是非常大的数字。
目标是将这个文件分割成更小的文件,但不是每个文件只有一条记录,就像我们经常看到的使用csplit 一样。例如,这里我们希望每个文件有 2 条记录(但可能是 100 条或更多)。
所以预期的结果是:
split1
<TAG>
Record_1
</TAG>
<TAG>
Record_2
</TAG>
split2
<TAG>
Record_3
</TAG>
<TAG>
Record_4
</TAG>
split3
<TAG>
Record_5
</TAG>
如果不能使用标准命令行,我可能会考虑写几行python,但我不熟悉。 这个非常简单的任务有简单的解决方案吗?
【问题讨论】:
-
打开文件,读取10个标签,将10个标签写入新文件,迭代直到完成。确切的问题/问题是什么?
-
我不熟悉python,所以如果它是最好/唯一的选择,我会喜欢一个例子:)
-
问“我从哪里开始?”的问题通常过于宽泛,不适合本网站。人们有自己解决问题的方法,因此不可能有正确的答案。仔细阅读 Where to Start 和 edit 您的帖子。 SO 不会为您的问题提供工作代码,这不是 SO 的工作方式。见How to Ask,阅读教程,尽力而为。如果您对您的 代码有特定问题,请发布minimal reproducible example 并附上特定的可回答问题。
-
嗯,问题很清楚,预期的结果也是,我不太了解允许这样做的 bash 命令(如果有的话),所以我问社区。公认的方法是:尽可能简单,如果需要,使用几行代码。所以对我来说一切都很清楚。
-
Stack Overflow 上有一类关于小型文本处理问题的问题,要求使用任何“标准”支持的脚本语言解决此问题Linux 实用程序。如果此类问题的答案具有简短(最好是单行)解决方案,则该问题将广受欢迎。但是,如果没有简短的解决方案,那么同时针对多种语言提出的问题的价值就相当低了。不幸的是,在发布“不错”的答案之前,很难对问题进行分类。但我觉得给定的问题可能有一个很好的答案。