plist是Mac種非常普遍的一種文件格式捂刺,類似xml过椎,通過鍵值對的方式來進(jìn)行一些配置节值。而PlistBuddy則是Mac自帶的專門解析plist的小工具鸡捐,Buddy為好朋友鞠鲜,伙伴的意思嗅绸。從名字不難看出PlistBuddy對plist文件的友好支持脾猛。
由于PlistBuddy并不在Mac默認(rèn)的Path里,所以我們得通過絕對路徑來引用這個工具:
- 查看幫助
/usr/libexec/PlistBuddy --help
下面我們來看看PlistBuddy的簡單使用
打佑沭:
- 初始化一個 info.plist 文件
- 打印info.plist文件
/usr/libexec/PlistBuddy -c "print" info.plist
- 在終端輸入上述命令后如下所示:
添加
- 添加普通字段:
/usr/libexec/PlistBuddy -c 'Add :Version string 1.0' info.plist
- 添加數(shù)組字段猛拴,分兩步走,注意:
key之間用 : 隔開蚀狰,且不能有空格
:
# 先添加key值
/usr/libexec/PlistBuddy -c 'Add :Application array' info.plist
# 添加value值
yans67deMacBook-Pro:needfiles huangyg$ /usr/libexec/PlistBuddy -c 'Add :Application: string app1' info.plist
yans67deMacBook-Pro:needfiles huangyg$ /usr/libexec/PlistBuddy -c 'Add :Application: string app2' info.plist
yans67deMacBook-Pro:needfiles huangyg$ /usr/libexec/PlistBuddy -c 'Add :Application: string app3' info.plist
- 添加字典字段愉昆,分兩步走:
# 先添加key值
/usr/libexec/PlistBuddy -c 'Add :Person dict' info.plist
# 添加value值,
/usr/libexec/PlistBuddy -c 'Add :Age string secret' info.plist
/usr/libexec/PlistBuddy -c 'Add :Person:Name string yans67' info.plist
/usr/libexec/PlistBuddy -c 'Add :Person:sex string boy' info.plist
/usr/libexec/PlistBuddy -c 'Add :Person:weight string 65' info.plist
輸出
- 打印字段相應(yīng)的值:
/usr/libexec/PlistBuddy -c 'Print :Person' info.plist
- 在array中我們還可以根據(jù)下標(biāo)打印某個特定的值
/usr/libexec/PlistBuddy -c 'Print :Application:2' info.plist
刪除
- 刪除字段相應(yīng)的值:
/usr/libexec/PlistBuddy -c 'Delete :Version' info.plist
修改
- 修改某個字段相應(yīng)的值:
/usr/libexec/PlistBuddy -c 'Set :Application:1 string "thi is app1"' info.plist
合并
- 當(dāng)有兩個plist文件的時候,我們可以對其進(jìn)行合并操作
# 將A.plist 合并到 B.plist中
/usr/libexec/PlistBuddy -c 'Merge A.plist' B.plist