Tôi có một tệp plist và tôi quan tâm đến việc tìm nạp các giá trị từ các từ điển lồng nhau bằng cách sử dụng tập lệnh shell. Đây là cấu trúc của tập tin plist của tôi:
<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>
Tôi quan tâm đến việc tìm nạp giá trị được gán cho khóa "Vốn" nếu người dùng cung cấp tên Quốc gia.
Ví dụ: Nếu tôi thực thi lệnh sau, tôi sẽ nhận được dữ liệu hoàn chỉnh trong từ điển "Quốc gia".
defaults read "/Users/sameerp/Downloads/data" Countries 2>&1
Tôi nhận được đầu ra sau đây:
{
Italy = {
Capital = Rome;
Continent = Europe;
};
USA = {
Capital = "Washington DC";
Continent = "North America";
};
}
Làm cách nào để sửa đổi lệnh ở trên để chuyển khóa "Quốc gia" (ví dụ: Hoa Kỳ) và lấy giá trị cho Khóa "Vốn"
Vì vậy, câu hỏi của bạn là gì? Bạn có gì cho đến nay? Bạn không yêu cầu chúng tôi viết kịch bản cho bạn phải không?
—
terdon
@terdon: Tôi không yêu cầu ai viết kịch bản cho tôi. Tôi muốn biết liệu có cách trực tiếp để truy cập giá trị của khóa trong từ điển lồng nhau hay không bằng cách sử dụng lệnh "mặc định đọc".
—
hút thuốc