0

ファイルの最後にテキストをエコー/追加する方法を知っています:

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

私の質問は、以下のjsonファイルにオブジェクトを追加する方法です:

ファイル - file.txt (空):

{
"fruit": [

]
}

期待される結果:

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

]
}
4

2 に答える 2

6

ed標準のテキストエディタです。

#!/bin/bash

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

そのために bash を使用する理由がわかりませんが、もっと優れたツールがあります。

終わり。

于 2012-11-11T18:52:52.063 に答える
0

これを試してください:

$ sed -e '/"果物":/a{ "果物":"りんご" , "量":"10" }' file.txt

これにより、「fruit」の後に行が追加されます。ファイルを変更したテキストに置き換える場合:

$ sed -i.bak -e '/"果物":/a{ "果物":"リンゴ" , "量":"10" }' file.txt

行を追加し、ファイルを変更されたコンテンツに置き換えます。古いファイルはバックアップとして保存されますfile.txt.bak

于 2012-11-12T21:05:23.860 に答える