Ben bir plist dosyası var ve ben kabuk komut dosyası kullanarak iç içe sözlüklerden değerleri getirme ilgileniyorum. İşte benim plist dosya yapısı:
<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>
Kullanıcı bir Ülke adı sağlarsa "Sermaye" anahtarına atanan değeri almakla ilgileniyorum.
Örneğin, aşağıdaki komutu yürütürsem, "Ülkeler" sözlüğü altında tüm verileri alırım.
defaults read "/Users/sameerp/Downloads/data" Countries 2>&1
Aşağıdaki çıktıyı alıyorum:
{
Italy = {
Capital = Rome;
Continent = Europe;
};
USA = {
Capital = "Washington DC";
Continent = "North America";
};
}
Yukarıdaki komutu "Ülke" Anahtarını (ör. ABD için) geçirmek ve "Büyük Harf" Anahtarı değerini almak için nasıl değiştirebilirim?
Sorunuz ne? Şimdiye kadar neyin var? Senaryoyu senin için yazmamızı istemiyorsun değil mi?
—
terdon
@terdon: Kimseden senaryoyu benim için yazmasını istemiyorum. "Varsayılan okuma" komutunu kullanarak içiçe sözlükte bir anahtarın değerine erişmek için doğrudan bir yol olup olmadığını bilmek istedim.
—
smokinguns