需要正则表达式将属性文件中的构建版本 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
最佳答案
您可以只运行以下 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
正则表达式引擎解释为元字符。
关于regex - 正则表达式替换以构建文件中的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54777455/