【发布时间】:2018-12-17 11:05:46
【问题描述】:
我有一个要求,我需要编写一个 bash 脚本将单个输入文件拆分为“n”个文件,并且每个文件不应包含超过“x”条记录(最后一个文件除外,因为最后一个文件将具有剩下的一切)。 'n' 和 'x' 的值将由用户作为参数传递给脚本。
n 应该是拆分文件的总数
x 应该是拆分文件中的最大记录数(最后一个文件除外)。
假设如果输入文件有 5000 条记录,并且用户将 n 和 x 的参数值传递为 3 和 1000,那么文件 1 和 2 应该分别包含 1000 条记录,文件 3 应该包含 3000 条记录。 另一个例子是,如果输入文件有 4000 条记录,并且用户将 n 和 x 的参数值传递为 2 和 3000,那么文件 1 应该包含 3000 条记录,文件 2 应该包含 1000 条记录。
我尝试了以下命令:
split -n$maxBatch -l$batchSize --numeric-suffixes $fileDir/$nzbnListFileName $splitFileName
但它会抛出一个错误,即拆分不能以多种方式完成。
请指教。
【问题讨论】: