我正在寻找一种方法来获取 plist 文件中指定键的所有值。确实,我想浏览 plist 文件,每次读取指定的键时,我都会将值放入一个数组中。
非常感谢 :)
我不确定我是否完全理解您,但这里有一个示例,说明如何从 windowserver 首选项中读取所有 IODisplayLocation 值并创建一个 applescript 数组。
set oldDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to ";"
set theItems to (do shell script "defaults read /Library/Preferences/com.apple.windowserver | grep IODisplayLocation | awk '{print $3}'")
set itemList to (every text item of theItems) as list
set AppleScript's text item delimiters to oldDelimiters
display dialog item 4 of itemList
您可以尝试使用 sed 访问这些值。假设:
set keyValues to paragraphs of (do shell script "sed -En '/CFBundleIconFile/ {
n
s/.*>([^<]+).*/\\1/
p
}' < " & quoted form of "/Users/John/Desktop/Info.plist")