按大小限制拆分大文件而不切割线

时间:2015-08-20 20:36:35

标签: python bash split

所以我有兴趣将相当大的文件分成5Gig间隔。我的目标是让所有分区都小于5Gigs,并尽可能减少分区数量。

虽然我通常会使用大小限制的分割,但我需要确保线条保持完整(我不能按大小分割)。

我一直在考虑使用文件大小和行数来确定每个文件可以拆分的行数

e.g。

File size = 11Gig
File line count = 900
File limit = 5Gig
ceiling(11/5) = 3
900/3 = 300
#Split the file by line limiting 300 each.

虽然这可能通常有效,但由于线元素的性质文件大小COULD仍然高于5gigs,如果文件的一段中有一个非常大的行。

我正在考虑使用python(它处理数字更好,看起来不那么hackish),但后来我会松开bashes文件操作速度。

我想知道是否有人知道在bash中有更好的选择?

提前谢谢!

1 个答案:

答案 0 :(得分:2)

从拆分手册页:

{{1}}

此选项的描述可能不是很明显,但它似乎涵盖了您的要求:文件在达到SIZE字节之前在最新可能的换行符处拆分。