我在文件中设置了捆绑版本,如下所示:
"dist/app-build-v1.08": {
如何查看版本号并以递增的数字换出?
首先,我试图抓住线本身,这是我的捆绑文件中的第三行。
BUILD=$(sed '3q;d' ./build/bundles.js)
确实抓住了这条线。我在堆栈溢出时发现了这个片段:
's/[^0-9.]*\([0-9.]*\).*/\1/'
我想在$ BUILD上使用它,但它不起作用。我的预期输出是
$NUM = "1.08"
然后我想将它增加到1.09,重建字符串并使用sed -i
替换它。
答案 0 :(得分:1)
似乎有趣的线总是第3行。然后你可以使用这个awk单线:
awk 'NR==3{gsub(/[^.0-9]+/,"");$0+=0.01;print}' file.js
0.01
。 x.xx
。如果不是这种情况,也可以动态计算增量。像0.01 or 0.00001
但需要额外的实施。1.09
答案 1 :(得分:0)
另一种方式:
sed -r '3s/.*build-v([0-9]+(\.[0-9]+)?).*/\1+0.01/' | bc -q
示例:强>
$ echo '"dist/app-build-v1.08": {' | sed -r 's/.*build-v([0-9]+(\.[0-9]+)?).*/\1+0.01/' | bc -q
1.09