Я использую jq для поиска шаблонов в очень большом файле JSON (500 МБ +) со следующей структурой плоских объектов:
{
"prop1": "large string",
"prop2": "another large string",
"prop3": "yet another large string",
...
}
Приведенный ниже запрос работает нормально, и для возврата результатов требуется менее 15 секунд:
jq 'map(select(contains("PATTERN")==true))' largefile.json > res.json
, но это возвращает мне массив строк, в которых найден шаблон, поэтому я теряю имена свойств.Когда я пытаюсь использовать map_values, я также могу получить имена свойств, например:
jq 'map_values(select(contains("PATTERN")==true))' largefile.json > res.json
, запрос выполняется вечно.
Существует ли эквивалентный запрос, быстрый по типу map,и который также может предоставить мне пары ключ: значение?