我編寫了一個構建腳本,並希望能夠在安裝時選擇最新版本的腳本,例如,包名稱是package_X.X.X.tar.gz,並且有多個副本。如何選擇版本號最高的文件名?
有沒有辦法將build命令指向package_Y.tar.gz?其中Y = max(X.X.X)?
我編寫了一個構建腳本,並希望能夠在安裝時選擇最新版本的腳本,例如,包名稱是package_X.X.X.tar.gz,並且有多個副本。如何選擇版本號最高的文件名?
有沒有辦法將build命令指向package_Y.tar.gz?其中Y = max(X.X.X)?
如果文件除了版本號相同,您可以使用類似
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
請記住,這僅適用於版本號前的前綴相同。 – 2010-11-03 14:36:33
謝謝,刪除無關的文件,我將使用:ls -v package * tar.gz |尾巴-n 1 – 2010-11-03 14:48:24
啊,那就是智能 – aioobe 2010-11-03 14:51:34
你可以使用正則表達式來提取版本信息,但是我認爲你不能僅僅通過reg exp在這裏。 – Kendrick 2010-11-03 14:26:54