Eu tenho um arquivo plist e estou interessado em buscar valores de dicionários aninhados usando o shell script. Aqui está a estrutura do meu arquivo 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>
Estou interessado em buscar o valor atribuído à chave "Capital" se o usuário fornecer um nome de país.
Por exemplo, se eu executar o seguinte comando, obtenho os dados completos no dicionário "Países".
defaults read "/Users/sameerp/Downloads/data" Countries 2>&1
Eu recebo a seguinte saída:
{
Italy = {
Capital = Rome;
Continent = Europe;
};
USA = {
Capital = "Washington DC";
Continent = "North America";
};
}
Como modifico o comando acima para passar a chave "Country" (EUA, por exemplo) e buscar o valor da chave "Capital"
Então, qual é a sua pergunta? O que você tem até agora? Você não está nos pedindo para escrever o script para você, certo?
—
Ter12
@terdon: Não estou pedindo a ninguém que escreva o script para mim. Eu queria saber se existe uma maneira direta de acessar o valor de uma chave no dicionário aninhado usando o comando "defaults read".
—
smokinguns