Я пытаюсь получить определенные данные c из поля "id", но совпадения jq
чувствительны к регистру и создают проблему с поиском (в основном не совпадают, поэтому возвращают 0 результатов).
JSON Пример:
{
"created_at": "2020-01-17T12:54:02Z",
"primary": true,
"verified": true,
"deliverable_state": "deliverable",
"undeliverable_count": 0,
"updated_at": "2020-01-17T12:54:03Z",
"url": "http://www.website.com",
"id": 376062709553,
"user_id": 374002305374,
"type": "email",
"value": "test-1234567@domain.com"
}
{
"created_at": "2019-02-07T20:49:41Z",
"primary": false,
"verified": true,
"deliverable_state": "deliverable",
"undeliverable_count": 0,
"updated_at": "2019-02-07T20:49:41Z",
"url": "http://www.website.com",
"id": 366235941554,
"user_id": 374002305374,
"type": "email",
"value": "MyEmail@domain.com"
}
При выполнении jq
со следующими данными я получаю правильный возврат:
$ jq -r '. | select(.value=="MyEmail@domain.com") .id' sample.json
366235941554
Но если я запускаю с неправильным case, например.
$ jq -r '. | select(.value=="Myemail@domain.com") .id' sample.json
... Я не получаю результат. Я прочитал некоторую документацию, но, к сожалению, я не понимаю флаги test / match / capture для нечувствительного поиска (https://stedolan.github.io/jq/manual/#RegularexpressionsPCRE) или как заставить его работать с этим «найти и дать» мне значение "request.
Я, казалось бы, искал повсюду, но не могу найти никаких примеров того, как это используется.