我想编写一个bash脚本来递增包含在名为setup.cfg
的文件中的所有[metadata]
次要版本号。setup.cfg
的内容可以是:
[metadata]
...
version = 1.2.3
...
[<optional-fields>]
...
version=4.5.6
...
我想 * 仅 * 将1.2.3递增到1.3.3。我想确保不递增[<optional-fields>]
的版本号,并考虑version
、=
和<metadata version number>
之间的可变/无间距。
(编辑)
我可以使用以下命令拉取setup.cfg
的所有示例filepath = find | grep "setup.cfg"
但是我确定如何隔离[metadata]
的版本示例。为了定位版本示例,我使用了:[[:space:]]*(?<=\[metadata\])*[[:space:]]*(:?version)[[:space:]]*(:?=)[[:space:]]*
要用新版本号替换旧版本号,我计划使用
x1米11米1x
2条答案
按热度按时间deyfvvtc1#
使用GNU
sed
8tntrjer2#
我建议不要使用
bash
sed
或grep
,因为这些工具的格式有点复杂。一个简单的python3
程序可以做到这一点,如下所示:另一个选择是使用
crudini
工具,这个工具至少在ubuntu仓库上可用:this answer推荐了
crudini
工具。