我創建了一個while循環,當它達到特定版本時停止。 問題是,如果我有版本1.1.4,並想要下降到1.0.9,我發現在這個論壇上的命令我的awk
並不好。減少版本號
我使用的是這樣的:
while compare versions; do
current version=
if [[ actual version != current version ]]; then
currentver=
previous version=`echo $ current version | awk -F. -v OFS=. \
'NF==1{print ++$NF};
NF>1{if(length($NF+1)>length($NF))$(NF-1)++;
$NF=sprintf("%0*d", length($NF), ($NF-1)%(10^length($NF)));
print}'`
Go back to $ previous version
do something
我得到的是:
Go back to 1.1.4
Go back to 1.1.3
Go back to 1.1.2
Go back to 1.1.1
Go back to 1.1.0
Go back to 1.1.-1
Go back to 1.1.-2
我想要的版本號要到1.0.9。
如何更改awk
命令不低於0?
但是,如果1.0.10存在呢? –
請澄清目標是用點分隔的數字倒數還是使用已知版本的列表進行倒數計數(可能從* changelog *文件中提取)。 – agc