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 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
{ "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"] } |
1 |
Con el siguiente SCRIPTS podemos obtener estos datos : |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#!/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" |
1 |
Al ejecutarlo obtendriamos el siguiente resultado : |
1 2 3 4 5 6 |
El valor del campo nombre es: Pedro Fernandez Gonzalo reiser Ampuero Juan Silva Hans petrovic Sebastian Ramirez Fuentes |