команда:
кошка test.json | jq -r '. [] | select (. ["$ link"] | содержит ("randomtext1")). id '
Я ожидал, что оба идентификатора (a и b) появятся в результате выполнения вышеупомянутой команды, так как они оба содержат текст randomtext1 под "input" | "obj1" | "$ link" и "input" | "obj3" | "$ ссылку".
ошибка:
jq: error (at: 11): null (null) и string ("randomtext1") нельзя проверить их содержимое
ошибка разбора: ожидаемое значение перед ',' в строке 11, столбец 2
Я вижу, что объект "$ link" находится внутри объектов "input" и "obj #". Как мне их указать или нужно? Кажется, сообщение об ошибке указывает на что-то еще. Также только «input» и «$ link» являются постоянными среди записей, имя «obj #» может меняться, что делает их случайными.
файл test.json:
[{
"input": {
"obj1": {
"$link": "randomtext1"
},
"obj2": {
"$link": "randomtext2"
}
},
"id": "a"
},
{
"input": {
"obj3": {
"$link": "randomtext1"
},
"obj4": {
"$link": "randomtext3"
}
},
"id": "b"
}]