created: 2021-01-18T05:33:20.000Z
jqで正規表現を使ってフィルタする
select
と test
をつかってフィルタする
例
こんなjsonがあったとして。
$ cat /tmp/_
{
"monitors": [
{
"id": "mysql",
"name": "mysql-freeable_memory"
},
{
"id": "redis10",
"name": "redis10-freeable_memory"
},
{
"id": "redis11",
"name": "redis11-freeable_memory"
}
]
}
たとえば monitorsオブジェクトのname属性を正規表現で絞って数値を見たいとき。
$ cat /tmp/_ | jq '.monitors[] | select(.name | test("^redis.+freeable_memory"))'
{
"id": "redis10",
"name": "redis10-freeable_memory"
}
{
"id": "redis11",
"name": "redis11-freeable_memory"
}