假设我有一个解析的版本标签列表,例如
0.2
0.1
0.10
0.9
如果我使用sort
我得到(我是对的,这称为整理顺序吗?)
0.1
0.10
0.2
0.9
如果我想要我期望的数字(逻辑)顺序
0.1
0.2
0.9
0.10
例如,这是我经常接触到的一个场景,当我解析软件包版本时,我想获得用于自动安装过程的最新版本。
我怎样才能做到这一点?
假设我有一个解析的版本标签列表,例如
0.2
0.1
0.10
0.9
如果我使用sort
我得到(我是对的,这称为整理顺序吗?)
0.1
0.10
0.2
0.9
如果我想要我期望的数字(逻辑)顺序
0.1
0.2
0.9
0.10
例如,这是我经常接触到的一个场景,当我解析软件包版本时,我想获得用于自动安装过程的最新版本。
我怎样才能做到这一点?
GNU sort 的
-V
/--version-sort
选项仅用于对版本号进行排序。它准确地产生您想要的输出,并且还处理多部分版本号,例如0.10.123
.有了那组特定的数据,您还可以使用
sort -t. -k1,1n -k2,2n
. 也就是说,告诉sort
它.
用作字段分隔符,然后根据该顺序的第一个和第二个字段进行数字排序。(-k1n
将使用从第一个字段开始的其余行导致不同的结果。)