繁体   English   中英

使用 bash 文件替换字符串

[英]Replace a string using bash file

我的package.json文件中有这一行:

"version": "5.0.0",

我想用另一个动态值替换5.0.0 我试过这样的:

sed -i "s%5.0.0%5.1.1%g" "package.json" 

但是不好,因为我不知道以前的值是 5.0.0。 我应该在这里写一个正则表达式吗?

将 5.6.7 更改为您想要的任何内容。 您可以 grep 或查找 -exec 一次更改多个文件。

sed -i -E 's/"version": "([0-9]+(\.[0-9]+)+)",/"version": "5.6.7",/' package.json

您可以使用反向引用

sed -i -E 's/(^ *?"version". *)[0-9.]+(.*)/\1 5.1.1 \2/g''

\1保证字符串“version”的格式与输入相同,您不必重新输入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM