シェルを使用してJSONファイルを編集するには?

シェルを使用してJSONファイルを編集するには?

JSONファイルを使用するシェルスクリプトを作成しています。

{
  "property1": true,
  "list": [
    {
      "id": 1,
      "name": "APP1"
    },
    {
      "id": 2,
      "name": "APP2"
    }
  ],
  "property2": false
}

namelistこれを読んでリストから親オブジェクトを削除するには、シェルスクリプトを使用する必要があります。デフォルトでは、APP1シェルを使用して名前のあるオブジェクトを削除する必要がありますlist。 JSON構造の編集はオプションではありません。

ベストアンサー1

del 関数の使用ジャック:

jq 'del(.list[] | select(.name=="APP1"))'

アプリケーション名をシェル変数としてjqに渡すには、次のようにします。--argオプション:

jq --arg name "$name" 'del(.list[] | select(.name==$name))'

おすすめ記事