加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 使用sed替换字符串中的版本号

发布时间:2020-12-13 23:28:31 所属栏目:Linux 来源:网络整理
导读:我在文件中设置了捆绑版本,如下所示: "dist/app-build-v1.08": { 如何查找版本号并以递增的数字换出? 首先,我试图抓住线本身,这是我的捆绑文件中的第三行. BUILD=$(sed '3q;d' ./build/bundles.js) 这确实抓住了这条线.我在堆栈溢出时发现了这个片段: 's/
我在文件中设置了捆绑版本,如下所示:

"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替换它.

解决方法

似乎有趣的线总是第3行.然后你可以使用这个awk单线:

awk 'NR==3{gsub(/[^.0-9]+/,"");$0+=0.01;print}' file.js

>此行侧重于第3行,并取版本号,添加0.01.>假设您的版本格式始终为x.xx.如果不是这种情况,也可以动态计算增量.像0.01或0.00001但需要额外的实施.>如果您使用示例文件运行它,它将为您提供1.09

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读