删除 ... 从*的.plist文件iPhone脚本
问题描述:
我想编写一个脚本,删除一个指定dict
从*的.plist文件,但没有什么我发现在互联网上不起作用..有一个方法来做到这一点?我试过sed
comman,但这不起作用删除<dict> ...</dict>从*的.plist文件iPhone脚本
答
桑达是这是一个非常糟糕的工具。请尝试PlistBuddy,如果它存在于iOS上(它确实存在于MacOS上...);它被称为/ usr/libexec/PlistBuddy,并允许您操作plist文件。
语法有点奇怪,但“条目”似乎是这样解决的:你从plist文件的顶部开始;如果它是一个数组,则指定要解析的元素的索引,如果它是字典,则指定要转到的键名称。用冒号分隔这些规格。如果有空格,就把“”放在整个事物的周围。
我的示例文件是这样的:
[email protected]:~> cat foo.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="1.0">
<array>
<dict>
<key>Sample 1</key>
<array>
<string>Sample String 1</string>
<dict>
<key>Sample 2</key>
<string>Sample String 2</string>
</dict>
</array>
</dict>
</array>
一个简单的会话:
[email protected]:~> /usr/libexec/PlistBuddy foo.plist
Command: print
Array {
Dict {
Sample 1 = Array {
Sample String 1
Dict {
Sample 2 = Sample String 2
}
}
}
}
Command: print "0:Sample 1:1"
Dict {
Sample 2 = Sample String 2
}
Command: delete "0:Sample 1:1"
Command: print
Array {
Dict {
Sample 1 = Array {
Sample String 1
}
}
}
你可以在命令行上的命令,以及,或通过这里的文件。互动只是更容易玩弄:-)
plist buddy不适用于iOS – coneybeare 2012-07-07 13:04:23