libplist scheint Ihre Anforderungen zu erfüllen. Es gibt einen Ubuntu-Paketnamen "libplist-utils", auf den Sie in Ihrem Skript verweisen könnten:
Description-de:Apple-Property-List-ConverterDieses Paket enthält Tools zum Konvertieren von Apple-Property-List-Dateien von Binärdateien in XML und umgekehrt. Es ist Teil des libimobiledevice Stacks und ermöglicht den Zugriff auf iDevices (iPod, iPhone, iPad ...).
Homepage:http://www.libimobiledevice.org/
Installationsbefehl:
apt-get install libplist-utils
Anwendungsbeispiel:
plistutil -i Info.plist
Seit .plist
Dateien sind bereits XML (oder können leicht konvertiert werden), Sie brauchen nur etwas, um das XML zu decodieren.
Verwenden Sie dazu xml2
:
$ cat com.apple.systemsound.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.sound.beep.volume</key>
<real>1</real>
</dict>
</plist>
$ xml2 < com.apple.systemsound.plist
/plist/@version=1.0
/plist/dict/key=com.apple.sound.beep.volume
/plist/dict/real=1
$
Sie sollten in der Lage sein, den Rest herauszufinden.
Oder für Perl use XML::Simple;
(siehe perldoc
für mehr), um die XML-Datenstruktur in einen Hash zu packen.