我有一个分辨率列表(移动设备,显示器等),我想使用bash/vim按分辨率对它们进行排序

我有(未订购):

1024 x 480
96 x 120
1024 x 600
100 x 120
800 x 1280
64 x 98
640 x 320
64 x 128
640 x 960
800 x 480
80 x 120

然后当我这样做时:
cat file | sort -u

我得到:
100 x 120
1024 x 480
1024 x 600
640 x 320
640 x 960
64 x 128
64 x 98
800 x 1280
800 x 480
80 x 120
96 x 120

为什么它不像这样排序,我该怎么办?
64 x 98
64 x 128
80 x 120
96 x 120
100 x 120
640 x 320
640 x 960
800 x 1280
800 x 480
1024 x 480
1024 x 600

最佳答案

您可以使用

sort -n -k1 -k3 file

这会根据数字前缀进行排序,因此您将获得按第一个数字排序的列表

这产生
64 x 98
64 x 128
80 x 120
96 x 120
100 x 120
640 x 320
640 x 960
800 x 480
800 x 1280
1024 x 480
1024 x 600

关于bash排序以解决问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8657164/

10-12 16:06