如何在OSX中执行`sort -V`命令?

4
我为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个回答

5

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

sort -k1.5 -n

-k1.5 的意思是从第五个字符开始(也就是第一个数字),按照第一个关键字(在你的例子中只有一个)排序。 -n 表示按照数字排序。这在 Linux 上同样适用。


哈哈,我之前已经尝试过了,但是显然把点和逗号搞混了。谢谢! - bastibe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接