所以我有兴趣将相当大的文件分成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中有更好的选择?
提前谢谢!
答案 0 :(得分:2)
从拆分手册页:
{{1}}
此选项的描述可能不是很明显,但它似乎涵盖了您的要求:文件在达到SIZE字节之前在最新可能的换行符处拆分。