¿Cómo puedo enumerar el texto entre corchetes en la CLI de Linux en un formato legible? Nombres e información de los nodos de Apache Geode

¿Cómo puedo enumerar el texto entre corchetes en la CLI de Linux en un formato legible? Nombres e información de los nodos de Apache Geode

estoy trabajando conNodos de Geoda Apache, todo el trabajo se realiza a través de la CLI de Linux. Normalmente, cuando edito los archivos de configuración (con VIM), el texto se ve así:

"nodes": {"long_UUID_here": {"node_uuid": "another_long_string_here", pair_uuid:" null, 
"is_admin_node": false, "ip_address": "ip-or-fqnd.domain.com", "preferred_addresses": {}, 
"node_name": shortname.domain.com", "membership_state": null, "region": null}

...y eso es sólounonodo. A menudo hay varios y el texto está todo amontonado en un gran lío difícil de leer. Lo que haría esto mucho más fácil es si pudiera ver y editar el archivo de esta manera:

"nodes": {  
    "long_UUID_here": {  
        "node_uuid": "another_long_string_here",  
        "pair_uuid:" null,  
        "is_admin_node": false,
        "ip_address": "ip-or-fqnd.domain.com", 
        "preferred_addresses": {}, 
        "node_name": shortname.domain.com",
        "membership_state": null,
        "region": null
}

Sé que esto es posible y lo he visto antes, pero no sé cómo se hace.

Actualización: debo señalar que este es un dispositivo SLES (a menudo sin acceso a Internet), por lo queNo puedo instalar ninguna aplicación, comojq

Respuesta1

Un colega mío de DevOps me mostró cómo hacer esto con sed+ regEx + json.tool:

`echo sed -nre "/clusterMembership/ s/^[^']+'([^']+)','([^']+)'.*/\2/p" /path/to/file/here/node.file.config | python -m json.tool

información relacionada