BASH – Script (LINUX) para extraer datos de un archivo JSON con comando GREP.

Para este ejemplo supondremos que tenemos el siguiente archivo en formato JSON (datos.json), y necesitamos extraer los NOMBRES. Esto es solo un ejemplo básico de como se pueden obtener los campos :

{
          "nombre": " Pedro Fernandez",
            "edad": 30,
              "ciudad": "Santiago",
                "profesion": "Ingeniero",
                  "hobbies": ["natació "lectura", "senderismo"]
} 
{
  "nombre": "Gonzalo reiser Ampuero",
    "edad": 30,
      "ciudad": "Santiago",
        "profesion": "Ingeniero",
          "hobbies": ["natació "lectura", "senderismo"]
          }
          {
                    "nombre": "Juan Silva",
                      "edad": 30,
                        "ciudad": "Santiago",
                          "profesion": "Ingeniero",
                            "hobbies": ["natació "lectura", "senderismo"]
          }
          {
                    "nombre": "Hans petrovic",
                      "edad": 30,
                        "ciudad": "Santiago",
                          "profesion": "Ingeniero",
                            "hobbies": ["natació "lectura", "senderismo"]
          }
          {
                    "nombre": "Sebastian Ramirez Fuentes",
                      "edad": 30,
                        "ciudad": "Santiago",
                          "profesion": "Ingeniero",
                            "hobbies": ["natació "lectura", "senderismo"]
          }

Con el siguiente SCRIPTS podemos obtener estos datos :
#!/bin/bash

# Nombre del archivo JSON
archivo_json="datos.json"

# Campo que queremos extraer
campo="nombre"

# Utilizar grep para buscar el campo en el archivo JSON
resultado=$(grep -o "\"$campo\": *\"[^\"]*\"" "$archivo_json")

# Extraer el valor del campo utilizando sed
valor=$(echo "$resultado" | sed -e "s/\"$campo\": *\"\([^\"]*\)\"/\1/")

# Imprimir el resultado
echo "El valor del campo $campo es: "
echo "$valor"

Al ejecutarlo obtendriamos el siguiente resultado :

 El valor del campo nombre es:
 Pedro Fernandez
 Gonzalo reiser Ampuero
 Juan Silva
 Hans petrovic
 Sebastian Ramirez Fuentes
Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *