[英]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.