Разбор json с awk / sed в bash для получения пары ключ-значение
Я прочитал много существующих вопросов в SO, но ни один из них не отвечает на то, что я ищу. Я знаю, что сложно разобрать json в bash, используя sed / awk, но мне нужно всего несколько пар ключ-значение на запись из целого списка пар ключ-значение на запись. Я хочу сделать это, потому что это будет быстрее, так как основной JSON довольно большой с миллионами записей.
Формат JSON выглядит следующим образом:
{
"documents":
[
{
"title":"a", //needed
"description":"b", //needed
"id":"c", //needed
....(some more:not useful)....
"conversation":
[
{
"message":"",
"id":"d", //not needed
.....(some more)....
"createDate":"e", //not needed
},
...(some more messages)....
],
"createDate":"f", //needed
....(many more labels).....
}
],
....(some more global attributes)....
}
Теперь для этого мне требуются атрибуты, которые помечены как необходимые, но их общий ключ затрудняет использование простого sed / awk. Кто-нибудь может подсказать, можем ли мы сделать это с помощью sed / awk. Если возможно, будет полезна любая помощь для достижения того же самого.
П.С .: Я знаю оjsawk
но я не хочу вводить какую-либо зависимость, поэтому, если возможно, предложите использовать sed / awk.
РЕДАКТИРОВАТЬ: несколько выходов формата, приведенного ниже (как в документе у нас есть список)
"title":"a",
"description":"b"
"id":"c"
"createDate":"f"
РЕДАКТИРОВАТЬ: JSON без пробелов. Он был отформатирован для удобства чтения.