Saya punya file plist dan saya tertarik untuk mengambil nilai dari kamus bersarang menggunakan script shell. Berikut adalah struktur file plist saya:
<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>
Saya tertarik mengambil nilai yang diberikan pada kunci "Modal" jika pengguna memberikan nama Negara.
Untuk mis. Jika saya menjalankan perintah berikut, saya mendapatkan data lengkap di bawah kamus "Negara".
defaults read "/Users/sameerp/Downloads/data" Countries 2>&1
Saya mendapatkan output berikut:
{
Italy = {
Capital = Rome;
Continent = Europe;
};
USA = {
Capital = "Washington DC";
Continent = "North America";
};
}
Bagaimana cara mengubah perintah di atas untuk memberikannya Kunci "Negara" (AS untuk mis.) Dan mengambil nilai untuk Kunci "Modal"
Jadi, apa pertanyaanmu? Apa yang kamu miliki sejauh ini? Anda tidak meminta kami untuk menulis skrip untuk Anda, bukan?
—
terdon
@terdon: Saya tidak meminta siapa pun untuk menulis naskah untuk saya. Saya ingin tahu apakah ada cara langsung untuk mengakses nilai kunci dalam kamus bersarang menggunakan perintah "default baca".
—
smokinguns