按字节大小拆分文件时的意外行为

Unexpected behaviour when splitting file by byte-size

假设包含多行字母数字字符串的 file 按字节大小拆分为小的子文件。子文件要用数字标记。

$ split -d -b 100 file subfile

生成的子文件在第 89 个子文件之前按预期进行标记,但随后更改了它们的标记模式。有趣的是,标签模式在子文件 9899 处再次发生变化!

$ ls
file
subfile00
subfile01
...
subfile89
subfile9000  # sic!
subfile9001
...
subfile9899
subfile990000  # sic!
subfile990001
...

我觉得这种模式很奇怪。有没有办法按字节大小拆分文件 file 并接收从 0 到 x 连续标记的子文件,其中 x = 总拆分数?

编辑 1:

$ split --version
split (GNU coreutils) 8.25

GNU 默认拆分使用 -a 选项(2 默认值)控制要添加到文件的后缀长度。您可以使用此 -a 选项

根据拆分文件的数量覆盖最大数字
-a, --suffix-length=N
     use suffixes of length N (default 2)

例如如果您认为,您的拆分文件可能从 1 到 100 不等,您可以 运行 split 命令以 3 作为后缀长度。

$ split -a 3 -d -b 100 file subfile