bash - 如何在 bash 中更新次要版本号?
问题描述
目前,我想使用 bash 命令更新文本文件中的次要版本。这是我正在处理的格式:MAJOR.Minor.BugFix。我能够增加 BugFix 版本号,但无法仅增加次要版本。
IE
01.01.00-> 01.02.00
01.99.00-> 02.00.00
这是我在网上找到的代码片段,并试图调整以更新次要而不是错误修复
echo 01.00.1 | 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}'
解决方案
正-F
则表达式-F.
将匹配任何字符。做一些事情-F"[.]"
,让它匹配句点,你可以在没有任何长度()的东西的情况下分割字段。
larsk拆分成多行的想法是一个很好的想法:
echo $a | awk -F'[.]' '{
major=$1;
minor=$2;
patch=$3;
minor += 1;
major += minor / 100;
minor = minor % 100;
printf( "%02d.%02d.%02d\n", major, minor, patch );
}'
推荐阅读
- grafana - Grafana:即使“警报验证错误:未找到警报规则使用的数据源”,也会加载仪表板
- ethereum - ERC20 代币转移到智能合约
- mysql - 函数中有哪些功能,但存储过程中没有?
- javascript - 分页 Vue.js 表格并使搜索栏跨表格页面工作
- css - 根据数据主题更改 ::selection
- php - 将 SOAP XML 解析为数组
- python - 不和谐的表情符号在代码中表现得很奇怪,3 个 ascii 符号的数字包
- javascript - React:如何将“未定义”变量作为道具传递给组件?
- python - 在启动时从 powershell 脚本作为 Windows 服务运行 python 代码
- node.js - 未捕获的 SyntaxError:JSON.parse 处的 JSON 输入意外结束?