拆分命令后缀生成/增量

拆分命令后缀生成/增量

有人能向我解释一下split命令后缀生成是如何工作的吗?

https://www.gnu.org/software/coreutils/manual/html_node/split-invocation.html#split-invocation我明白了

默认情况下,split 将首先创建具有两个生成的后缀字符的文件,并且当下一个最高有效位置到达最后一个字符时,将此宽度增加两个。('yz','zaaa','zaab',...)。

为什么它跳过了yztozaaa而不使用zato zz

示例:一个 50MB 的文件dd if=/dev/urandom of=foo bs=1M count=50拆分为split -b 1b foo

检查ls -lah | less

我发现第一个增量位于第 600 行左右(:600g内部less):

-rw-rw-r-- 1 user user  512 ene 20 17:33 xyw
-rw-rw-r-- 1 user user  512 ene 20 17:33 xyx
-rw-rw-r-- 1 user user  512 ene 20 17:33 xyy
-rw-rw-r-- 1 user user  512 ene 20 17:33 xyz
-rw-rw-r-- 1 user user  512 ene 20 17:33 xzaaa
-rw-rw-r-- 1 user user  512 ene 20 17:33 xzaab

我发现:

-rw-rw-r-- 1 user user  512 ene 20 17:33 xzazy
-rw-rw-r-- 1 user user  512 ene 20 17:33 xzazz <--- Here it reaches zz
-rw-rw-r-- 1 user user  512 ene 20 17:33 xzbaa
-rw-rw-r-- 1 user user  512 ene 20 17:33 xzbab

:17500g我在第 17500 行左右(内部less)找到第二个增量:

-rw-rw-r-- 1 user user  512 ene 20 17:33 xzyzy
-rw-rw-r-- 1 user user  512 ene 20 17:33 xzyzz
-rw-rw-r-- 1 user user  512 ene 20 17:33 xzzaaaa
-rw-rw-r-- 1 user user  512 ene 20 17:33 xzzaaab

那么,第一次递增后,什么才算是“最重要的位置”。第三次递增会是

zz zy zz
zz aa aa aa

第四

zz zz zy zz 
zz aa aa aa aa

????

我不确定我在这里说的话是否有道理或者我是否正确地解释了我的问题。


增量

1st
zy
za aa

2nd
zy zz
zz aa aa

3rd?
zz zy zz 
zz aa aa aa
3rd??
[zz] zy zz 
[zz] zz aa aa

4th?
zz zz zy zz 
zz aa aa aa aa
4th?
[zz zz] zy zz 
[zz zz] zz aa aa

在第二个、第三个?? 和第四个?? 选项中,我将 [] 之间的后缀视为“已锁定”,并将提醒视为第二个后缀增量。

相关内容