smo*_*uns 11 shell-script dictionary plist macos
我有一个 plist 文件,我对使用 shell 脚本从嵌套字典中获取值很感兴趣。这是我的 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>
Run Code Online (Sandbox Code Playgroud)
如果用户提供国家/地区名称,我有兴趣获取分配给“Capital”键的值。
例如,如果我执行以下命令,我会在“国家/地区”字典下获得完整的数据。
defaults read "/Users/sameerp/Downloads/data" Countries 2>&1
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
{
Italy = {
Capital = Rome;
Continent = Europe;
};
USA = {
Capital = "Washington DC";
Continent = "North America";
};
}
Run Code Online (Sandbox Code Playgroud)
如何修改上面的命令以将“国家”键(例如美国)传递给它并获取“资本”键的值?
Gor*_*son 14
默认值无法做到这一点而没有很多混乱,但 PlistBuddy 会:
/usr/libexec/PlistBuddy -c "print :Countries:USA:Capital" /Users/sameerp/Downloads/data.plist
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14619 次 |
最近记录: |