2010-11-03 20 views
10

我編寫了一個構建腳本,並希望能夠在安裝時選擇最新版本的腳本,例如,包名稱是package_X.X.X.tar.gz,並且有多個副本。如何選擇版本號最高的文件名?

有沒有辦法將build命令指向package_Y.tar.gz?其中Y = max(X.X.X)?

+1

你可以使用正則表達式來提取版本信息,但是我認爲你不能僅僅通過reg exp在這裏。 – Kendrick 2010-11-03 14:26:54

回答

18

如果文件除了版本號相同,您可以使用類似

ls -v | tail -n 1 

ls的手冊頁:

... 
-v  natural sort of (version) numbers within text 
... 

用法示例:

$ ls 
package_1.5.7.9.tar.gz package_2.5.3.9.tar.gz package_4.6.1.0.tar.gz 
$ ls -v | tail -n 1 
package_4.6.1.0.tar.gz 
+0

請記住,這僅適用於版本號前的前綴相同。 – 2010-11-03 14:36:33

+0

謝謝,刪除無關的文件,我將使用:ls -v package * tar.gz |尾巴-n 1 – 2010-11-03 14:48:24

+0

啊,那就是智能 – aioobe 2010-11-03 14:51:34

相關問題