下記のようなjsonがあり、jqコマンドを使って加工を行おうと思っています。
条件はSidが"a"の"AWS"の配列内の<account>を変数$accountidで置き換えたいです。
どのようにjqコマンドを組み合わせればできそうでしょうか。
$accountid='12345678' $cat test.json | jq . --arg accountid .Statement[] | select(.Sid == a) | .Principal.AWS |= ___置換方法___
[置換前のjson] { "Version": "2012-10-17", "Statement": [ { "Sid": "a", "Effect": "Allow", "Principal": { "AWS": [ "ssm.amazonaws.com", "sns.amazonaws.com", "ec2.<account>.com" ] }, "Action": "sts:AssumeRole" }, { "Sid": "b", "Effect": "Allow", "Principal": { "AWS": [ "ssm.amazonaws.com", "sns.amazonaws.com", "ec2.<account>.com" ] }, "Action": "sts:AssumeRole" } ] }
[置換後のイメージ] { "Version": "2012-10-17", "Statement": [ { "Sid": "a", "Effect": "Allow", "Principal": { "AWS": [ "ssm.amazonaws.com", "sns.amazonaws.com", "ec2.12345678.com" ] }, "Action": "sts:AssumeRole" }, { "Sid": "b", "Effect": "Allow", "Principal": { "AWS": [ "ssm.amazonaws.com", "sns.amazonaws.com", "ec2.<account>.com" ] }, "Action": "sts:AssumeRole" } ] }

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。