Analisando json com awk / sed no bash para obter o par de valores-chave
Li muitas perguntas existentes no SO, mas nenhuma delas responde ao que estou procurando. Eu sei que é difícil analisar json no bash usando sed / awk, mas eu só preciso de alguns pares de valor-chave por registro de uma lista inteira de pares de valores-chave por registro. Eu quero fazer isso porque será mais rápido, já que o JSON principal é bem grande, com milhões de registros.
O formato JSON é como seguir:
{
"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)....
}
Agora, para isso, eu preciso de atributos que são marcados como necessários, mas sua chave comum torna um problema obter pelo simples sed / awk. Alguém poderia sugerir se podemos fazê-lo com sed / awk. se possível, qualquer ajuda para alcançar o mesmo seria apreciada.
P.S .: eu sei sobrejsawk
mas eu não quero introduzir qualquer dependência, por isso, se possível, por favor sugerir o uso de sed / awk.
EDIT: Múltiplos extries do formato dado abaixo (como no documento, temos uma lista)
"title":"a",
"description":"b"
"id":"c"
"createDate":"f"
EDIT: O JSON é sem espaços. Foi formatado para legibilidade.