按字节大小拆分文件时的意外行为
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
假设包含多行字母数字字符串的 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