【发布时间】:2019-02-20 01:26:57
【问题描述】:
需要正则表达式将属性文件中的构建版本1.0.0替换为1.0.2,文件内容类似于下面提到的内容;
Eagle-1.0.0
Chick-1.0.0
Bingo-1.0.0
我尝试了以下方法,但它不起作用
sed -i "s/1\.0\.O\.[0-9.]*/1.0.0./g" file.txt
【问题讨论】:
-
第二个
0看起来很像O... -
两个问题:1) 您是否注意到有一个“O”(大写哦,与“零”?2)1.0.2 中的“2”来自哪里?建议:
sed -i "s/1.0.0/1.0.2./g" file.txt > newfile.txt -
@paulsm4:
.需要转义,否则它们将被sed正则表达式引擎解释为元字符。 -
@Allan - 你是对的,当然。叹息……谢谢。我最初的问题和建议仍然存在。通过此更正:
sed -i "s/1\.0\.0/1\.0\.2/g" file.txt > newfile.txt -
叹息……再次。我不断提醒自己,我永远不应该在没有亲自尝试的情况下回答问题。到那时,其他 40 人击败了我 :( 无论如何 - 谢谢你,+1 的回应:)
标签: regex linux unix jenkins sed