Я хочу использовать jq
для извлечения любого появления ключа Action
в файле JSON. Action
появляется в JSON несколько раз в разных путях (или в одной и той же структуре ключа-пути с разными значениями).
Вариант использования - извлечь все политики IAM, которые предоставляют разрешения *
.
Я хочу выбрать случаи, в которых .Action - это значение "*" или массив с "*"
в качестве элемента, например
"Action":["not this", "*", "not that"]
В качестве плюса было бы неплохо включить фрагмент JSON, содержащий "Action"
до некоторых уровней выше.
Например, этот JSON:
{
"AssumeRolePolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Action": "*",
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
}
}
]
},
...
Будет извлечено
{
"AssumeRolePolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Action": "*",
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
}
}
]
},
...
}
Это достижимо с jq
и как?