Tengo un archivo plist y estoy interesado en obtener valores de diccionarios anidados mediante el script de shell. Aquí está la estructura de mi archivo plist:
<dict>
<key>Countries</key>
<dict>
<key>USA</key>
<dict>
<key>Capital</key>
<string>Washington DC</string>
<key>Continent</key>
<string>North America</string>
</dict>
<key>Italy</key>
<dict>
<key>Capital</key>
<string>Rome</string>
<key>Continent</key>
<string>Europe</string>
</dict>
</dict>
</dict>
Estoy interesado en obtener el valor asignado a la tecla "Capital" si el usuario proporciona un nombre de país.
Por ejemplo, si ejecuto el siguiente comando, obtengo los datos completos en el diccionario "Países".
defaults read "/Users/sameerp/Downloads/data" Countries 2>&1
Me sale el siguiente resultado:
{
Italy = {
Capital = Rome;
Continent = Europe;
};
USA = {
Capital = "Washington DC";
Continent = "North America";
};
}
¿Cómo modifico el comando anterior para pasarle la tecla "País" (EE. UU., Por ejemplo) y obtener el valor de la tecla "Capital"?
Entonces, ¿cuál es tu pregunta? ¿Qué tienes hasta ahora? No nos estás pidiendo que escribamos el guión para ti, ¿verdad?
—
terdon
@terdon: No le pido a nadie que escriba el guión por mí. Quería saber si hay una forma directa de acceder al valor de una clave en el diccionario anidado utilizando el comando "lectura predeterminada".
—
smokinguns