libplist は要件を満たしているようです。スクリプトで参照できる Ubuntu パッケージ名「libplist-utils」があります:
<ブロック引用>Description-ja:Apple プロパティ リスト コンバーターこのパッケージには、Apple プロパティ リスト ファイルをバイナリから XML に、またはその逆に変換するツールが含まれています。 libimobiledevice スタックの一部であり、iDevices (iPod、iPhone、iPad ...) へのアクセスを提供します。
ホームページ:http://www.libimobiledevice.org/
インストール コマンド:
apt-get install libplist-utils
使用例:
plistutil -i Info.plist
.plist
以降 ファイルが既に XML である (または簡単に変換できる) 場合は、XML をデコードするための何かが必要です。
そのためには 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
$
残りは理解できるはずです。
Perl の場合は use XML::Simple;
(perldoc
を参照) 詳しくは) XML データ構造をハッシュに入れます。