2017年12月22日 星期五

Bash Shell | 如何使用 sort Command 排序版本號碼

筆者最近在編寫 shell script 做為軟體釋出 (Software Release) 自動化用,想要從 git tag 取出最後一次軟體釋出的版號 (Version) 時遇到問題,因為版號格式是 x.y.z,當欄位出現兩位數字以上時,排序出現問題。

假設 git tag 的結果如下

0.1.1
0.1.10
0.1.12
0.1.2

使用 sort 指令做排序,但是結果沒變

範例:

git tag | sort

結果:

0.1.1
0.1.10
0.1.12
0.1.2

sort 指令加上參數 -V 則結果符合需求

範例:

git tag | sort -V

結果:

0.1.1
0.1.2
0.1.10
0.1.12

沒有留言:

張貼留言