我正在尝试查找所有CONFIG.INF文件,并将特定属性更改为特定属性。
CONFIG.INF文件如下所示:
NAME: A
VERSION: 1.2.0.X
TOPIC: X
我想读取此类文件,并替换每个文件的version属性的最后一部分。
find ${WORKSPACE} -name CONFIG.INF -type f -exec sed -i.bak "s/VERSION:.*/VERSION: ${VERSION}/g" {} \;
这将替换完整版本,但我只希望替换版本的最后一部分。根据示例,如果我替换为Y,版本将为1.2.0.Y。最后一部分可以是任何内容(不一定是X),我只想替换最后一部分。
答案 0 :(得分:2)
您可以
sed -i.bak "s/VERSION:.*\./&${VERSION_LETTER}/g"
与字符串“ VERSION:”匹配,后跟尽可能多的字符,直到最后点。
替换部分包含魔术字符&
,其替换为与正则表达式匹配的文本,后跟包含新版本字母的变量。