我有一个a.b.c
格式的软件版本文件,其中a
,b
和c
是整数。例如
2.10.1
1.10.3
10.4.9
1.9.10
1.2.30
我试过了:
sort -k 1n -k1,3 -t $'.' versions
这只适用于第一列。如何在第2列和第3列上指定子排序?
答案 0 :(得分:2)
这会对您提到的版本号进行排序。分隔符设置为.
,比较数字为-n
,顺序首先从第1列到第1列-k 1,1
,第2列从第2列到第2列-k 2,2
和第三列从第3栏到第3栏-k 3,3
。
$ echo '2.10.1
1.10.3
10.4.9
1.9.10
1.2.30' | sort -t '.' -n -k 1,1 -k 2,2 -k 3,3
1.2.30
1.9.10
1.10.3
2.10.1
10.4.9