怎么做OSX中的`sort -V`?

时间:2010-11-24 09:35:04

标签: linux macos bash sorting cross-platform

我为Linux bash shell编写了一个脚本。

一行获取文件名列表并对其进行排序。该列表如下所示:

char32.png char33.png [...] char127.png

从32到127。 此列表的ls的默认排序就像这样

char100.png char101.png [...] char32.png char33.png [...] char99.png

幸运的是,有sort,它有一个方便的-V开关,可以正确排序列表(如第一个例子中所示)。

现在,我必须将此脚本移植到OSX,并且OSX中的sort缺少-V开关。

您是否对如何正确排序此列表有明确的想法?

1 个答案:

答案 0 :(得分:5)

它们都以固定字符串开头(在您的示例中为char)?如果是这样的话:

sort -k1.5 -n

-k1.5表示从第5个字符开始排序第一个键(在您的示例中只有一个键),这将是第一个数字。 -n表示按数字排序。这也适用于Linux。