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"
macos
shell-script
dictionary
plist
smokinguns
sumber
sumber
Jawaban:
default tidak dapat melakukan ini tanpa banyak kekacauan, tetapi PlistBuddy akan:
sumber