我想使用 sed
将字符串 version="01.00.00.041"
的子部分增加 1。
例如: version="01.00.00.041"
到 version="01.00.00.042"
并且它应该是动态的而不是静态的。我的意思是,每次构建时版本号都会更改,因此它应该是 sed
的输入,并且最后 1 位应该递增。
编辑:(从评论中收集)
我尝试过如下:
sed -i "s/version.*/version=\"${print $ "."$ "."$ "."$ +1}}\">/g" descriptor.xml
最佳答案
使用 perl:
$ echo 'version="01.00.00.041"' | perl -pe 's/(\d+)(?=")/sprintf("%0*d", length($1), $1+1)/e'
version="01.00.00.042"
增加引号前的最后一组数字,并根据字段长度使用 0 填充,而不是硬编码数字。
关于linux - 如何使用 sed 命令增加字符串子部分中的数字?并且输入将动态改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58477542/