regx替换以在文件中构建版本

时间:2019-02-20 01:26:58

标签: regex linux unix jenkins sed

需要正则表达式在属性文件中用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

1 个答案:

答案 0 :(得分:1)

您可以只运行以下sed命令:

XXX@XXX:~/Downloads/fun_play/archive/filestosearch$ cat version 
Eagle-1.0.0 Chick-1.0.0 Bingo-1.0.0
XXX@XXX:~/Downloads/fun_play/archive/filestosearch$ sed -i".bak" 's/1\.0\.0/1.0.2/g' version
XXX@XXX:~/Downloads/fun_play/archive/filestosearch$ cat version
Eagle-1.0.2 Chick-1.0.2 Bingo-1.0.2
XXX@XXX:~/Downloads/fun_play/archive/filestosearch$ cat version.bak 
Eagle-1.0.0 Chick-1.0.0 Bingo-1.0.0

注释:

  • -i".bak"允许您修改文件并获取备份文件,以防万一使用相同的文件名和后缀.bak
  • 您需要转义.,否则sed正则表达式引擎会将它们解释为元字符。