У меня есть этот JSON-файл:
{
"uuid": "ce651ed3-78b9-49a0-9d00-9bfaf33bb12c",
"mp_router_id": "bbbf9a22-5fde-48e2-980f-a6c58d7f941a",
"config_session_state": "Down",
"routing_status": "Up",
"routing_state_flag": 0,
"vrf_id": 4,
"routing_state": [],
"type": "TLR-SR",
"ports": [{
"uuid": "cc4e8e98-0a22-4534-aa8c-c30c14b5c3a7",
"urpf-mode": "NONE",
"ifuid": 284,
"mac": "02:50:56:56:44:01",
"lrouter": "ce651ed3-78b9-49a0-9d00-9bfaf33bb12c",
"admin_up": true,
"ips": [
"127.0.0.1/8"
],
"op_state_up": true,
"owner": "system",
"type": "loopback",
"name": "system-loopback-port"
},
{
"uuid": "ee55ef38-941d-5f2e-8ead-c8bf6b1df06d",
"lrouter": "ce651ed3-78b9-49a0-9d00-9bfaf33bb12c",
"ifuid": 281,
"admin_up": true,
"ips": [],
"op_state_up": true,
"type": "cpu-port",
"name": ""
},
{
"uuid": "8fd5f7a5-5906-40b7-b8c4-877882896ca8",
"urpf-mode": "NONE",
"ifuid": 285,
"mac": "02:50:56:56:53:00",
"lrouter": "ce651ed3-78b9-49a0-9d00-9bfaf33bb12c",
"admin_up": false,
"ips": [
"169.254.0.2/28"
],
"op_state_up": false,
"type": "backplane",
"name": "bp-sr0-port"
},
{
"uuid": "65f526d1-621c-4f5b-a7e6-7d06278e0226",
"urpf-mode": "NONE",
"ifuid": 283,
"mac": "02:50:56:56:44:55",
"lrouter": "ce651ed3-78b9-49a0-9d00-9bfaf33bb12c",
"admin_up": false,
"ips": [
"100.64.208.1/31"
],
"op_state_up": false,
"type": "uplink",
"name": "LinkedPort_t0-uplink"
},
{
"uuid": "36ccfb0d-45ad-5242-9e0f-2898de2c82db",
"lrouter": "ce651ed3-78b9-49a0-9d00-9bfaf33bb12c",
"ifuid": 282,
"admin_up": false,
"ips": [],
"op_state_up": false,
"type": "blackhole",
"name": ""
}
],
"vdr_id": 16,
"name": "SR-t1"
}
Вывод, который мне нужен:
{
"uuid": "ce651ed3-78b9-49a0-9d00-9bfaf33bb12c",
"type": "TLR-SR",
"ports": [
{
"uuid": "8fd5f7a5-5906-40b7-b8c4-877882896ca8",
"admin_up": false,
"ips": [
"169.254.0.2/28"
],
"op_state_up": false,
"type": "backplane",
"name": "bp-sr0-port"
},
{
"uuid": "65f526d1-621c-4f5b-a7e6-7d06278e0226",
"admin_up": false,
"ips": [
"100.64.208.1/31"
],
"op_state_up": false,
"type": "uplink",
"name": "LinkedPort_t0-uplink"
},
],
name": "SR-t1"
}
Я не хочу показывать элементы с нижеуказанными типами.
Если .ports[].type == "blackhole"
или "cpu-port"
или "loopback"
Я могу получить все в массиве портов и не могу найти способ исключить элементы, которые я хочу исключить. Это возможно с JQ или я упускаю что-то очень фундаментальное?