最近由于工作需要,发现了这么一个小工具。
PlistBuddy是一个Mac里的命令行下读写plist文件的工具。 位于/usr/libexec/下,由于这个路径不在默认的PATH里,需要通过绝对路径/usr/libexec/PlistBuddy引用。
使用起来很简单,功能也很丰富。
通过命令打印出plist的内容
/usr/libexec/PlistBuddy -c "print" A.plist |
得到结果
Dict { KeyA = ValueA KeyC = ValueC KeyB = ValueB } |
通过命令得到一个entry的值
$ /usr/libexec/PlistBuddy -c "print KeyA" A.plist |
输出
这些都是简单的功能。PlistBuddy最好用的一个功能应该算是merge了。
merge命令可以合并两个plist文件,一个认为是源文件,一个作为目标文件。
比如命令
/usr/libexec/PlistBuddy -c "merge A.plist" B.plist |
PlistBuddy把A.plist中的条目逐个插入到B.plist中,如果B.plist中已经有相同Key的条目就跳过此条目。 如上面的命令,得到结果
$ /usr/libexec/PlistBuddy -c "merge A.plist" B.plist Duplicate Entry Was Skipped: KeyA $ /usr/libexec/PlistBuddy -c "print" B.plist Dict { KeyC = ValueC KeyD = ValueD KeyA = ValueNewA KeyB = ValueB } |
更多命令可以通过man或者-h来查看
$/usr/libexec/PlistBuddy -h |