我知道如何呼應/文本添加到文件的末尾:擊:添加對象到JSON文件
echo "{ "fruit":"apple" , "amount":"10" }" >> file.txt
我的問題是如何將一個對象添加到下面的JSON文件:
文件 - file.txt的(空):
{
"fruit": [
]
}
預期結果:
{
"fruit": [
{ "fruit":"apple" , "amount":"10" } #object to add
]
}
我知道如何呼應/文本添加到文件的末尾:擊:添加對象到JSON文件
echo "{ "fruit":"apple" , "amount":"10" }" >> file.txt
我的問題是如何將一個對象添加到下面的JSON文件:
文件 - 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 { 「果」: 「蘋果」, 「量」: 「10」}' FILE.TXT
這將在「水果」之後添加一行。如果你想用修改後的文本替換文件:
$ sed -i.bak -e'/「fruit」:/ a {「fruit」:「apple」,「amount」:「10」 }'file.txt
將添加該行並用修改的內容替換該文件。舊文件將被保存爲備份file.txt.bak
。
不要爲此使用'bash',而是使用真正的JSON庫。 –
完全同意,但我的問題是;如何使用bash將文本添加到文件的「中間」。在這種情況下,一個JSON文件。 –
什麼是應該添加對象的規範?它可以用sed,awk,perl等來完成,但是你需要更詳細地定義問題。 – Barmar