我创建了一个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