Analizando json con awk / sed en bash para obtener un par de valores clave

He leído muchas preguntas existentes en SO, pero ninguna de ellas responde a lo que estoy buscando. Sé que es difícil analizar json en bash usando sed / awk, pero solo necesito unos pocos pares clave-valor por registro de una lista completa de pares clave-valor por registro. Quiero hacer esto porque será más rápido ya que el JSON principal es bastante grande con millones de registros.

El formato JSON es el siguiente:

{
    "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)....
}

Ahora, para esto, requiero atributos que están marcados como necesarios, pero su clave común hace que sea un problema obtener simplemente sed / awk. ¿Alguien podría sugerir si podemos hacerlo con sed / awk? si es posible, cualquier ayuda para lograr lo mismo sería apreciada.

P.S .: Sé acerca de jsawk pero no quiero introducir ninguna dependencia, así que si es posible, sugiera el uso de sed / awk.

EDITAR: Múltiples salidas del formato dado a continuación (como en el documento tenemos una lista)

"title":"a",
"description":"b"
"id":"c"
"createDate":"f"

EDITAR: El JSON no tiene espacios. Se ha formateado para facilitar la lectura.

Mejor respuesta
Aconsejaría que use ‘jq’, o un analizador JSON real. No puede “analizar” JSON con expresiones regulares arbitrarias. Podría hackear algo con awk, pero eso se romperá fácilmente si su entrada tiene una forma que no anticipó.

Entonces, la respuesta es, introduce una dependencia barata (jq, o herramienta similar), y escribe alrededor de eso. A menos que esté ejecutando este script en un enrutador o una computadora integrada, es probable que pueda instalar jq fácilmente.

Por favor indique la dirección original:Analizando json con awk / sed en bash para obtener un par de valores clave - Código de registro