通过标志的组值平滑地拆分成固定序列

时间:2015-07-06 05:10:04

标签: algorithm shell unix data-structures split

我希望尽可能地分割,输出文件大小之间的差异不超过一个字节,通过更改金额文件但具有一些最小数量和最大文件数。 这个讨论的第一个线程是关于序列here的加载行为,其中我提供了太少的案例来解释序列行为,但是增量导致最后一个序列中的5个字符增加。 可以使用不同的标志条件。

数据结构

只有定义良好的算法才能实现这种平滑。 我只是有一种直觉,即部分索引可以工作,因为总是只有一个小子集有数据,并且平滑通过目录的条目动态发生。 解决方案可能涉及一些精心选择的数据结构和一些算法。

算法的伪代码

我想影响字符在生成的文件中的加载行为,这些文件在此刻发生,而不是非逻辑且不顺畅。

$ seq -w 0 0.0001 1                                \
| gsed 's/\.//g'                                   \
| gsed ':a;N;$!ba;s/\n//g' > /tmp/k                \
&& gsplit -n{a,b} -e -b{k,n,m} /tmp/k              \
&& wc -c 1stFile && wc -c lastFile

其中

  • 命令gsplit -n{a,b} -b{k,n,m}的部分只是伪命令
  • 可以使用
  • 标记nb
  • -e从输出中删除空文件但仅仅强制输出在某个时间间隔内是不够的
  • 具有单个值的标记-n会导致固定数量的文件,但可以缩小到-e的最小值,因此可以分别处理每个组的单位。
  • 标志-n的确定性,当只有一个值时,会导致序列在文件中的奇怪加载行为。

如何更好地控制新序列加载到新文件中而不会在某些文件中出现快速峰值?

0 个答案:

没有答案