使用sed替换文件中的版本号

克里斯

我需要更新文件中的版本号。在文件中,一行包含这样的语义版本号:

foo.bar.blah.blub#10.6.1

现在,我想查找前缀“ blah.blub”以标识正确的行并替换版本号。

我得到以下显然不起作用的信息:

sed -i -e 's/^blah.blub#\d\.\d\.\d$/blah.blub'${VERSION}/$ README.MD

芒登

Sed默认情况下使用基本正则表达式,大多数实现(包括您似乎正在使用的GNU实现)都不了解\d另外,您的行也不以开头blah.blub,因此^它永远不会匹配。以及其他各种问题。

不过,这应该可以满足您的需求:

sed -i -E "/blah\.blub#/s/#.*/#$VERSION/" README.MD

这将#用的内容替换a之后的文本$VERSION,但前提是此行包含blah.blub现在,是否足以处理您的数据,我不知道,因为您仅向我们显示了这一行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章