在 Ubuntu 14.04 中按 ASCII 约定对文件进行排序

在 Ubuntu 14.04 中按 ASCII 约定对文件进行排序

这对我来说真是太烦人了,因为应该很容易修复!我希望在对文件进行排序时应用 ASCII 约定(在终端和 nautilus 中),因为在我看来,“智能”排序算法根本不是。似乎已经发布了针对旧版本 Ubuntu(大约 2008 年)的修复程序,其中设置“LC_COLLATE=C”据称可以修复此问题(请参阅这里这里有关详细信息)。然而,这根本无法解决我目前遇到的问题。我正在运行 Trusty (14.04),使用新的 3.16 内核。

例如,ls 命令当前提供:

ME 702 - 计算流体动力学 - 视频课程 1(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 10(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 11(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 12(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 13(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 14(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程15(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 16(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 17(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 18(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 19(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 2(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 20(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 21(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 22(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 23(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 24(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 25(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 26(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 27(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 28(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 3(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 4(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 5(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 6(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 7(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程8(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 9(360p_H.264-AAC).mp4

我真正想要的是

ME 702 - 计算流体动力学 - 视频课程 1(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 2(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 3(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 4(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 5(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 6(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程7(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 8(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 9(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 10(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 11(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 12(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 13(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学动力学 - 视频课程 14(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 15(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 16(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 17(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 18(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 19(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 20(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 21(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 22(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 23(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 24(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 25(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 26(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程27(360p_H.264-AAC).mp4
ME 702 - 计算流体动力学 - 视频课程 28(360p_H.264-AAC).mp4

对于如何实现这个功能您有什么想法吗?

答案1

ASCII 排序非常基础,即 1 在 2 之前,2 在 3 之前,依此类推。因此,当我查看一个简单的列表 0、1、2、3、... 8、9 时,字符的排序顺序与数字排序相同。

问题涉及多位数字。考虑以下列表:1、10、11、2、20

这实际上是正确排序的作为角色,但错误地作为数字在上面的列表中,数字“11”的第一个字符是“1”,它位于“2”之前,就像“as”位于“b”之前一样。

我们中的许多人都希望文件和项目列按数字方式而不是 ASCII 方式排序 - 我所拥有的最简单的解决方案(虽然很麻烦)是提前知道我预计有多少个文件,并在数字前面加上“0”以将文件名填充到正确的长度 - 因此我的文件将被命名为 001、002、003...010、011

您可能会坚持认为这是一种按名称对文件进行排序的刻意方法,我同意!但是您还必须记住,ASCII 代表“信息交换的美国标准代码”,它只不过是将数字代码分配给特点在要求以 ASCII 方式对列表进行排序时,您是在要求进行字符排序。

相关内容