为什么前导零不会改变文件的顺序?

为什么前导零不会改变文件的顺序?

在下面的所有三种情况(文件夹、仅包含零的文件和包含 1 的文件)中,我希望顺序为出租车并不是ABC。为什么不考虑前导零?它似乎将连续的数字作为一个整体实体(因此零不相关),而不是作为独立的字符。

在此输入图像描述

答案1

这看起来像“(版本)号的自然排序”ls -v正如和(GNU)所做的那样sort -V。这里的结果看起来有点奇怪,但重点是对1.1< 1.2< 1.11<进行排序1.12。也就是说,将每个数字序列视为数字而不是单个字符。这自然意味着前导零并不重要。

$ touch '00 - A' '000 - B' '0 - C'
$ /bin/ls -v1
00 - A
000 - B
0 - C

如果缺少这一点,区域设置当然也会影响排序:

$ LC_ALL=C /bin/ls -1
0 - C
00 - A
000 - B
$ LC_ALL=en_US.UTF-8 /bin/ls -1
000 - B
00 - A
0 - C

您需要检查您正在使用的程序是否有任何文档或设置来修改其排序方式。

相关内容