我成功地在Linux上使用sed -i来修改文件中的JSON值。
$> sed -i '/brand/c\ \"brand\": \"'valueModified'\"' ./config/brand.config.json
但是在MacOS上我得到了:
sed:1:“。/ config / brand.config.json”:命令代码无效。
我正在尝试在linux和macOS上的shell脚本中使用此命令。
谢谢
答案 0 :(得分:0)
POSIX sed
实现允许I-line替换,而非POSIX UNIX实现则不允许。 OSX和BSD实现一样可以这样完成:
cp -p ./config/brand.config.json ./config/brand.config.json.tmp;
sed '/brand/c\ \"brand\": \"'valueModified'\"' ./config/brand.config.json.tmp > ./config/brand.config.json