我有一个清单文件,其中包含以下信息:
Bundle-ManifestVersion: 2
Bundle-Name: Runtime (2.7)
Bundle-SymbolicName: Runtime;singleton:=true
Bundle-Version: 1.0.5.qualifier
我需要通过bash命令更新它。是否可以使用sed命令来完成。我需要更新捆绑包版本如下:
Bundle-Version: 1.0.6.qualifier
现在我可以这样做:
sed -i '' "s/Bundle-Version: 1.0.5.qualifier/Bundle-Version: 1.0.6.qualifier/g" MANIFEST.MF
但我想找到一种方法,不替换整行,只替换版本。
您不必替换整行,您可以执行:
s/1.0.5.qualifier/1.0.6.qualifier/
只是替换线路的那部分。但是,这将替换任何行上的字符串,而不仅仅是Bundle-Version
行。您可以使用地址表达式来限制它:
/^Bundle-Version:/s/1.0.5/1.0.6/
不需要使用g
修饰符,因为版本号只需要在行中替换一次。