我需要将文件拆分成一定数量的存储桶。大小不必相等。
这是我的逻辑
count = wc -l filename
split_count = (count)/4
split -l split_count filename core_
有时,如果我将 4 的数字更改为其他数字,它会给我 N+1 个桶。有没有更好的方法来创建恰好 N 个桶?
答案1
可能是因为使用整数运算的结果有时会导致值稍微太小。
例如,1001 / 4
只有250
四组 250 行,无法完成全部 1001 行。
您可以修改逻辑以增加该值,直到其中四个至少与文件一样大,例如:
count = wc -l filename
split_count = (count)/4
while split_count * 4 < count: # Add these
split_count++ # two lines.
split -l split_count filename core_
您还可以四舍五入到下一个倍数N
以确保足够,例如:
split_count = (count + N - 1) / N