bas*_*ibe 4 linux sorting macos bash cross-platform
我为Linux bash shell编写了一个脚本.
一行获取文件名列表并对其进行排序.该列表如下所示:
char32.png char33.png [...] char127.png
Run Code Online (Sandbox Code Playgroud)
它从32到127. ls此列表的默认排序是这样的
char100.png char101.png [...] char32.png char33.png [...] char99.png
Run Code Online (Sandbox Code Playgroud)
幸运的是sort,有一个方便的-V开关可以正确地对列表进行排序(如第一个例子中所示).
现在,我必须将此脚本移植到OSX,并且sort在OSX中缺少-V交换机.
您是否对如何正确排序此列表有一个聪明的想法?
它们都是以固定字符串开头(char在您的示例中)?如果是这样:
sort -k1.5 -n
Run Code Online (Sandbox Code Playgroud)
-k1.5意味着从第5个字符开始对第一个键(在您的示例中只有一个键)进行排序,这将是第一个数字.-n意味着数字排序.这也适用于Linux.