如何解决如何在终端的PLIST文件中读取特定值
我正在尝试访问MAC OS上plist
文件中的特定属性,但是该属性的名称中有一个空格,我无法访问它。
这是我尝试的请求,但它返回了我所有的SpacesDisplayConfiguration
:
$defaults read com.apple.spaces SpacesDisplayConfiguration Space\ Properties
我认为这只是语法错误,但是我找不到问题。
解决方法
不可能在比根级别更深的级别上read
特定属性
如果您喜欢做丑陋的事情,您可以做这样的丑陋的事情:
defaults read com.apple.spaces > /tmp/$$.plist
/usr/libexec/PlistBuddy -c 'print :SpacesDisplayConfiguration:Space\ Properties' /tmp/$$.plist
尽管这可能不那么难看:
/usr/libexec/PlistBuddy -c 'print SpacesDisplayConfiguration:Space\ Properties' $HOME/Library/Preferences/com.apple.spaces.plist
以下尝试无效,并且如果有人知道为什么可以对我执行ping操作-我认为这与bash
进程替代不可寻求有关。
defaults read com.apple.spaces | /usr/libexec/PlistBuddy -c 'print :SpacesDisplayConfiguration:Space\ Properties' /dev/stdin
defaults read com.apple.spaces | /usr/libexec/PlistBuddy -c 'print :SpacesDisplayConfiguration:Space\ Properties' -
/usr/libexec/PlistBuddy -c "print" <(defaults read com.apple.spaces)
,
我只是使用 cat
和 grep
来解决的。不那么优雅,但简单实用:
cat path/to/file.plist | grep -A 1 <key>
输出示例:
<key>slideScanBlurThreshold</key>
<real>0.0</real>
,
如果您可以下载工具,Scout 可以读取键中带有空格的嵌套值。
scout read -i $HOME/Library/Preferences/com.apple.spaces.plist -f plist \
"SpacesDisplayConfiguration.Space Properties"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。