bash:将对象添加到JSON文件中



我知道如何回声/将文本添加到文件末尾:

echo "{ "fruit":"apple" , "amount":"10" }" >> file.txt

我的问题是如何在下面的JSON文件中添加一个对象:

file -file.txt(空):

{
"fruit": [
]
}

预期结果:

{
"fruit": [
{ "fruit":"apple" , "amount":"10" } #object to add
]
}

ed是标准文本编辑器。

#!/bin/bash
{
ed -s file.json <<EOF
/"fruit": [
a
{ "fruit":"apple" , "amount":"10" } #object to add
.
wq
EOF
} &> /dev/null

不知道为什么要为此使用bash,周围有更好的工具!

完成。

尝试这个:

$ sed -e'/"水果":/a {" frual":"苹果","量":" 10"}'file.txt

这将在"水果"之后添加一条线。如果要用修改的文本替换文件:

$ sed -i.bak -e'/"水果":/a {" frual":"苹果","量":" 10"}'file.txt

将添加该行并将文件替换为修改后的内容。旧文件将保存为备份file.txt.bak

相关内容

  • 没有找到相关文章

最新更新